Cubietruck Debian Wheezy HDD 2.5". Установка Majordomo.

Проблемы/вопросы, связанные с запуском под различными платформами и конфигурациями.

Модератор: immortal

electric
Сообщения: 309
Зарегистрирован: Вт сен 17, 2013 10:11 pm
Благодарил (а): 3 раза
Поблагодарили: 56 раз

Cubietruck Debian Wheezy HDD 2.5". Установка Majordomo.

Сообщение electric » Сб июн 21, 2014 10:12 pm

Всем привет. Приехала ко мне платка из Китая - Cubietruck.
Собрал в базовом корпусе (этажерка), винт от старого ноута на 80Гб.
Решил попробовать установить Debian Wheezy. Образ взял с сайта www.igorpecovnik.com.
----------------------------------------------------------------------------
UPD Чтобы корректно работали все драйвера (вафля, синий-глаз, I2C, SPI и пр.), не советую пользоваться системой с версией ядра выше 4-ой (Джесси), лучше воспользуйтесь старой, доброй проверенной 3.4.ХХХ (Wheezy).
UPD2 Старые версии можно скачать здесь - http://mirror.igorpecovnik.com/archive/
----------------------------------------------------------------------------
Качаем с сайта www.igorpecovnik.com нужный image.
Все что описано ниже справедливо для v2.1 (13.6.2014). На самом сайте внизу можно увидеть, что обновления выходят довольно часто...
Я подключаю кубик к HDMI-разъему телевизора, поэтому качаю image "HDMI".
Записываем образ на диск любой доступной программкой, например "Win32 Disk Imager" для Винды.
Вставляем флешку в Cubietruck, подключаем клавиатуру, HDMI-кабель телевизора и подаем питание, HDD может быть уже подключен (v2.1 - LAN не советую подключать, у меня почему зависал на "update packages". v2.2 - пофиксили, можно запускать с кабелем LAN).
СТ весело заморгает светодиодами, отладочные сообщения старта не появятся - их автор отключил...
Первая загрузка идет долго - минуты 2-3. СТ будет расширять rootfs, обновлять пакеты и пр...
Далее автоматически перезагрузится и появится приглашение залогиниться, вводим логин root, пароль 1234 (пароль желательно сразу поменять).
Кстати в этот образ вшита возможность следить за температурой проца, отчасти это сыграло какую то роль при выборе системы (Cubian на данный момент не позволяет это сделать).
После логина в систему, можно увидеть температуру проца, HDD, объем памяти (см. сообщение приветствия).
Настраиваем сеть (я использую статику, адресацию применяем своей подсети), правим файл

Код: Выделить всё

root@cubie:~# nano /etc/network/interfaces  
В секции eth0 прописываем следующее:

Код: Выделить всё

   allow-hotplug eth0
   iface eth0 inet static
   address 192.168.69.50
   netmask 255.255.255.0
   gateway 192.168.69.1
Так же не забиваем описать DNS-сервера:

Код: Выделить всё

root@cubie:~# nano /etc/resolv.conf  
Теперь перезагружаемся.

Код: Выделить всё

root@cubie:~# reboot  
Светодиоды моргают только при загрузке, затем умолкают, их можно включить/отключить, как это сделать описано тут.
После настройки сети и выхода в инет делаем:

Код: Выделить всё

root@cubie:~# apt-get -y update && apt-get -y dist-upgrade && apt-get -y autoremove && apt-get -y autoclean  
Так же для удобства устанавливаем mc

Код: Выделить всё

root@cubie:~# apt-get install mc  
Выключаем командой halt, отсоединяем HDMI, клавиатуру. Включаем и коннектимся по SSH.
IP-адрес кубика прописали, порт 22 (можно поменять для дополнительной защиты)
----------------------------------------------------------------------------
Теперь разобьем наш диск на разделы, отформатируем.

Код: Выделить всё

root@cubie:~# fdisk -l  
- смотрим как он определился в системе, у меня он значится как /dev/sda.
Итак, старые разделы нам надо удалить (ОСТОРОЖНО, ДАННЫЕ ПОТЕРЯЮТСЯ), и сделать 3 раздела: sda1 - swap (2048Мб), sda2 - rootfs (гигабайт 20) и раздел sda3 - будем монтировать в /srv.

Код: Выделить всё

root@cubie:~# fdisk /dev/sda  
Директива "m" - это хелп, там все расписано.
Директивой "d" удаляем старое (жмем "d" пока не появится собощение что типа разделов больше нет).
Создаем, нажимаем "n" - выбираем "p" примари - номер партиции 1 - первый сектор по умолчанию оставляем - last sector пишем +2048M.
Нажимаем "p" - посмотрим что получилось (у меня хард на 80Гб).

Код: Выделить всё

Device Boot      Start         End      Blocks   Id  System
/dev/sda1        2048          4196351  2097152  83  Linux
Для swap нам надо Id поменять на 82, нажимаем "t" (у нас одна партиция пока, система не предлагает выбрать, ставит по умолчанию "Selected partition 1") - пишем 82.
Нажимаем "p" - посмотрим что получилось.

Код: Выделить всё

Device Boot      Start         End      Blocks   Id  System
/dev/sda1        2048          4196351  2097152  82  Linux swap / Solaris
Теперь делаем раздел для rootfs и для всего остального.
Директива "n" - затем "p" - номер партиции 2 - первый сектор по умолчанию оставляем - last sector пишем +20G - создали /dev/sda2.
Директива "n" - затем "p" - номер партиции 3 - первый сектор по умолчанию оставляем - last sector так же по-умолчанию (все оставшееся место) - создали /dev/sda3.
Нажимаем "p" - посмотрим что получилось.

Код: Выделить всё

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048     4196351     2097152   82  Linux swap / Solaris
/dev/sda2         4196352    46139391    20971520   83  Linux
/dev/sda3        46139392   156301487    55081048   83  Linux
Теперь обязательно надо записать данные в файловую таблицу - выбираем директиву "w" - происходит запись на диск и программа fdisk завершает свою работу...
Отформатируем раздел /dev/sda2 и /dev/sda3

Код: Выделить всё

root@cubie:~# mkfs.ext4 /dev/sda2
root@cubie:~# mkfs.ext4 /dev/sda3  
----------------------------------------------------------------------------
Теперь перенесем систему на винт, сделать это очень просто, автор образа потрудился за нас и написал скрипт (только в нем надо поменять путь к винту с /dev/sda1 на /dev/sda2), его надо запустить:

Код: Выделить всё

root@cubie:~# /root/sata-install.sh    
Отвечаем утвердительно, далее ждем несколько минут...
Нас попросят "прес кей" - жмем Enter и система уйдет в перезагрузку.
Загрузится уже с винта. В этом можно убедиться следующей командой:

Код: Выделить всё

root@cubie:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           20G  958M   18G   6% /
/dev/root        20G  958M   18G   6% /
devtmpfs       1000M     0 1000M   0% /dev
tmpfs           128M  164K  128M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           128M     0  128M   0% /run/shm
tmpfs           1.0G   88K  1.0G   1% /tmp
/dev/root        20G  958M   18G   6% /var/log.hdd
ramlog-tmpfs    256M  1.1M  255M   1% /var/log
Создаем SWAP. Выполняем команду

Код: Выделить всё

root@cubie:~# dd if=/dev/zero of=/dev/sda1 bs=1024 count=2048K
        2097152+0 records in
        2097152+0 records out
        2147483648 bytes (2.1 GB) copied, 266.515 s, 8.1 MB/s

У меня выполнялась долго - чуть более 4 мин...
Далее выполняем:

Код: Выделить всё

root@cubie:~# mkswap /dev/sda1
root@cubie:~# swapon /dev/sda1  
Монтируем swap с помощью файла /etc/fstab, там добавляем следующую запись:

Код: Выделить всё

/dev/sda1 swap swap defaults 0 0
Перезагружаемся, проверяем:

Код: Выделить всё

root@cubie:~# free -m
               total       used       free     shared    buffers     cached
  Mem:          1999         54       1945          0          3         27
 -/+ buffers/cache:          23       1976
  Swap:         2047         0        2047
Еще надо примонтировать наш раздел /dev/sda3 в папку /srv (туда будем ставить MajorDoMo), для этого в тот же файл /etc/fstab в конец вставляем следующую строку:

Код: Выделить всё

/dev/sda3 /srv ext4 defaults,errors=remount-ro 0 0
В итоге файл будет выглядеть так:

Код: Выделить всё

# UNCONFIGURED FSTAB FOR BASE SYSTEM
/dev/sda2 / ext4 defaults,noatime,nodiratime,data=writeback,commit=600,errors=remount-ro 0 0
# Add swap and failopomojka
/dev/sda1 swap swap defaults 0 0
/dev/sda3 /srv ext4 defaults,errors=remount-ro 0 0
Предвижу вопросы, почему не монтирую по UUID - потому как жесткий подключать пока собираюсь только один...
----------------------------------------------------------------------------
Правим время и для начала надо попроавить часовой пояс, для этого:

Код: Выделить всё

root@cubie:~# dpkg-reconfigure tzdata  
Выбираем Europe - Moscow

На этом форуме много писали, что есть проблемы у плат RaspberryPi и Cubieboard-1(2), при перезагрузке сбивается время и поэтому запись в БД MySQL происходит неправильно.
На нашей плате - Cubietruck на борту имеется модуль RTC и часы при перезагрузке/отключении не сбиваются, по идее))
Я решил попробовать отключить демон ntpd и синхронизировать время командой ntpdate при загрузке системы и раз в сутки, при этому раз в сутки синхронизированное время системы записывается в часы RTC.
1. Отключаем демон ntpd, если он включен.
root@cubie:~# /etc/init.d/ntp status - проверить запущен или нет
root@cubie:~# /etc/init.d/ntp stop - оставновить сервис
root@cubie:~# /etc/init.d/ntp start - запустить сервис
2. Удаляем из автозагрузки.
root@cubie:~# update-rc.d -f ntp remove - удалить сервис ntp из автозагрузки
root@cubie:~# update-rc.d ntp defaults - включить автозагрузку сервиса пол умолчанию
Теперь устанавливаем пакет ntpdate, если он не установлен.
Затем в файл /etc/crontab добавляем в конец:

Код: Выделить всё

@reboot root ntpdate 0.ru.pool.ntp.org >> /var/log/ntpdate.log 2>&1
Надо создать лог-файл /var/log/ntpdate и дать права на запись пользователю root. В этот файл будут добавляться строчки - результат работы скрипта в крон (и норм. работа и ошибки).
Возможность вывода в лог делал для отладки, если надо оставить навсегда - то необходимо реализовать ротацию логов...
Теперь что касается харверных часов.
Проверяем время системное:

Код: Выделить всё

root@cubie:~# date
Sat Jun 21 23:24:23 MSK 2014
Теперь смотрим время часов RTC на плате...

Код: Выделить всё

root@cubie:~# hwclock -r
Sat 21 Jun 2014 7:25:22 PM MSK  -1.722259 seconds
Упс... А время то хардверных часов оказывается UTC.
Исправим эту оплошность:

Код: Выделить всё

root@cubie:~# nano /etc/adjtime  
Там соответственно меняем UTC на LOCAL, проверяем:

Код: Выделить всё

root@cubie:~# hwclock -r
Sat 21 Jun 2014 11:27:21 PM MSK  -1.823798 seconds
Закончим с настройкой времени, как писал выше, будем синхронизировать время раз в сутки и записывать синхронизированное время в часы RTC на плате.
В системе по пути /etc есть папки типа /etc/cron.daily/ , /etc/cron.monthly/ и т.п.
Соответственно в эти папки можно запихнуть свои скрипты на bash'e, они будут выполняться по временным промежуткам, соответ. названиям директорий.
К примеру: нам надо выполнять синхронизацию времени системы раз в сутки и записывать это время в харверные часы RTC на плате Cubietruck.
1. Создаем скрипт:

Код: Выделить всё

root@cubie:~# touch /etc/cron.daily/ntpdate.sh  
Делаем его исполняемым:

Код: Выделить всё

root@cubie:~# chmod +x /etc/cron.daily/ntpdate.sh  
Правим:

Код: Выделить всё

root@cubie:~# nano /etc/cron.daily/ntpdate.sh  
Текст примерно следующий:

Код: Выделить всё

#!/bin/sh
# Запускаем синхронизацию с пулом адресов 0.ru.pool.ntp.org, результат (положительный и ошибки если есть) пишем в лог-файл /var/log/ntpdate.log
ntpdate 0.ru.pool.ntp.org >> /var/log/ntpdate.log 2>&1
# Значение времени системы записываем в часы RTC на плате
hwclock --systohc
Собственно всё...
Проверяем работу, смотрим содержимое файла /etc/crontab - там есть строка:

Код: Выделить всё

25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
Т.е. скрипты из директории /etc/cron.daily запускаются каждые сутки в 6.25 утра.
Проверка заключается в том, что надо дождаться этого времени и посмотреть файл /var/log/ntpdate.log на предмет результата синхронизации с интетом и файл /var/log/syslog,
там должна быть строчка типа:

Код: Выделить всё

Jun 26 06:25:15 localhost kernel: [108239.582972] sunxi-rtc sunxi-rtc: actually set time to 2014-6-26 6:25:15
Это обновление времени часов RTC на плате (кстати может они сами обновляются, я не смотрел :oops: ).
Последний раз редактировалось electric Чт май 28, 2015 11:51 am, всего редактировалось 9 раз.
За это сообщение автора electric поблагодарили (всего 9):
DimRay (Пт окт 31, 2014 6:21 pm) • Amarok (Пт фев 20, 2015 10:56 am) • zelevova (Чт мар 05, 2015 1:26 pm) • skysilver (Ср мар 11, 2015 4:56 pm) • mirsum (Вт мар 17, 2015 9:26 pm) • SergVl (Вс апр 19, 2015 9:05 pm) • fynto (Пт июн 05, 2015 12:44 pm) • Wanderer (Чт сен 03, 2015 1:03 pm) • rtroyakov (Пн окт 12, 2015 7:19 pm)
Рейтинг: 10.47%
Было: Majordomo v.0.6.0.b на Cubietruck. OS Armbian с переносом на HDD
Стало: ioBroker на Cubietruck OS Armbian + ZigBee Xiaomi + OWFS + BLE.
electric
Сообщения: 309
Зарегистрирован: Вт сен 17, 2013 10:11 pm
Благодарил (а): 3 раза
Поблагодарили: 56 раз

Re: Cubietruck Debian Wheezy HDD 2.5". Установка Majordomo.

Сообщение electric » Сб июн 21, 2014 10:15 pm

Так, будем считать что Debian поставили, настроили, все крутится - вертится...
Теперь займемся установкой Majordomo на наш мини-сервер.
Все действия я выполняю от root, поэтому sudo мне не к чему - будьте внимательны...
Последовательность действий будет такая:
Apache2 --> MySQL --> PHP --> curl --> Phpmyadmin --> настройка LAMP --> MajorDoMo --> mplayer+VLC --> проверка
----------------------------------------------------------------------------
Перед устновкой на всякий случаем обновляем source:

Код: Выделить всё

root@cubie:~# apt-get update  
Поставим веб-сервер apache, для этого наберем не хитрую команду:

Код: Выделить всё

root@cubie:~# apt-get install apache2 apache2-utils apache2-doc  
Установка подтянет необходимы пакеты, надо только утвердительно согласится на установку (или запускать с ключем -y).
После установки веб-сервер стартует, возможно, кстати, на экране отобразится ошибка "apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message". Чтобы от нее избавится редактируем:

Код: Выделить всё

root@cubie:~# nano /etc/apache2/apache2.conf    
Просто в конец файла надо вставить строку ServerName localhost.
Теперь можно перезапустить апач и проверить что ошибка больше не появляется:

Код: Выделить всё

root@cubie:~# /etc/init.d/apache2 restart  
Кстати еще можно перезагрузить апач командой:

Код: Выделить всё

root@cubie:~# apache2ctl restart  
А вот этой командой только перезагрузить конфиг:

Код: Выделить всё

root@cubie:~# service apache2 reload  
Можно целевую директорию /var/www/ для файлов MajorDoMo оставить по-умолчанию. Как я писал выше - будем устанавливать на диск /dev/sda3, который монтирую в /srv.
Создаем папку /srv/www:

Код: Выделить всё

root@cubie:~# mkdir /srv/www  
Сразу изменяем владельца папки:

Код: Выделить всё

root@cubie:~# chown -R www-data:www-data /srv/www  
Теперь меняем конфиг сайта "default", для этого редактируем:

Код: Выделить всё

root@cubie:~# nano /etc/apache2/sites-available/default    
Там у нас должно получиться что то вроде:

Код: Выделить всё

    <VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /srv/www
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /srv/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride All
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
Я менял только "AllowOverride None" на "AllowOverride All" в трех местах и "DocumentRoot", "Directory" вместо /var/www написал свой путь - /srv/www

----------------------------------------------------------------------------

Теперь займемся MySQL, для этого установим необходимые пакеты:

Код: Выделить всё

root@cubie:~# apt-get install mysql-server mysql-client  
Соглашаемся с установкой (подтянутся зависимости).
Во время установки нас попросят придумать и ввести пароль суперпользователя (с повтором для достоверности).

----------------------------------------------------------------------------

Теперь установим PHP, Curl и инструмент для работы с MySQL - phpmyadmin.
Для это сначала наберем:

Код: Выделить всё

root@cubie:~# apt-get install php5 php5-cgi php5-cli libapache2-mod-php5 php5 php-pear php5-xcache php5-gd php5-mysql php5-xdebug php5-common php5-dev  
Затем:

Код: Выделить всё

root@cubie:~# apt-get install curl libcurl3 libcurl3-dev php5-curl  
Я полазил по форуму, сайту... Вроде никакие пакеты не забыл, но сам не проверял так, чтобы все задействовать, поэтому может что то лишнее))
Теперь устанавливаем phpmyadmin:

Код: Выделить всё

root@cubie:~# apt-get install phpmyadmin  
Во время установки вас сначала попросят ввести пароль доступа супер-пользователем MySQL (вводили ранее при установке MySQL).
Затем попросят придумать и ввести пароль пользователя root для доступа к phpmyadmin (с повтором для достоверности) - выполняем...

----------------------------------------------------------------------------

Настроим связку LAMP для работы с MajorDoMo:
Для начала включаем mod_rewrite:

Код: Выделить всё

root@cubie:~# a2enmod rewrite  
Ребутим apache:

Код: Выделить всё

root@cubie:~# /etc/init.d/apache2 restart  
Теперь надо отредактировать два файла php.ini:
Для сервиса apache находится здесь:

Код: Выделить всё

root@cubie:~# nano /etc/php5/apache2/php.ini    
Для работы запуска скриптов из командной строки редактируем здесь:

Код: Выделить всё

root@cubie:~# nano /etc/php5/cli/php.ini    
Объединил потому как редактировать одно и то же, а именно:
Заменить строку error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT на error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
На всякий случай меняем параметры (не обязательно):
max_execution_time с 30 меняем на 90
max_input_time поменяем с 60 на 180
post_max_size меняем с 8M на 200M
upload_max_filesize меняем с 2M на 50M
max_file_uploads меняем с 20 на 150
Для удобного поиска слов в редакторе nano, есть комадна Ctrl+W - далее вводим слово/фразу/строку, нажимаем Enter.
Для повторного поиска этого же текста просто Ctrl+W и сразу Enter.
Первичная настройка закончена...

----------------------------------------------------------------------------

Устанавливаем MajorDoMo.
Я устанавливаю сначала стабильную сборку с сайта: Версия 0.6.0b от 25.01.2014 (архив)
Затем из админки "накатываю" обновления. Но если честно, обновлялся только один раз и сразу об этом пожалел - почти все мои наработки по "украшательствам" исчезли.
Поэтому советую сначала обновиться - только затем заниматься разработкой в IDE.
Итак, продолжим - создадим временную папку для файлов MDM:

Код: Выделить всё

root@cubie:~# mkdir /srv/tmp  
Перейдем в только что созданный каталог и закачаем туда архив дистрибутива с сайта, распакуем его:

Код: Выделить всё

root@cubie:~# cd /srv/tmp
root@cubie:~# wget http://smartliving.ru/download/_majordomo_linux_060b.tar.gz
root@cubie:~# tar xvfz _majordomo_linux_060b.tar.gz  
Теперь скопируем необходимые файлы из папки html в их место назначения - /srv/www

Код: Выделить всё

root@cubie:~# cp -rp /srv/tmp/html/* /srv/www
root@cubie:~# cp -rp /srv/tmp/html/.htaccess /srv/www  
Обязательно сделаем владельцем директории /srv/www пользователя www-data:

Код: Выделить всё

root@cubie:~# chown -R www-data:www-data /srv/www  
Чтобы у нас заработал звук, добавим вышеупомянутого юзера в группу audio следующей командой:

Код: Выделить всё

root@cubie:~# usermod -a -G audio www-data  
Проверить можно просмотрев файл /etc/group любым листером (например в Midnight Commander кнопка F3)
Там увидим следующие строки - audio:x:29:www-data - значит все ОК.

Теперь разберемся с правами. На этом сайте на страничке "Установка Linux" рекомендуют дать права 777 на все папки и 666 на файлы.
Если внимательно посмотреть по пути /srv/www, можно там увидеть скрипт install-linux.sh, его содержимое примерно следующее:

Код: Выделить всё

#!/bin/bash

folders=(cached cms debmes modules templates objects rc saverestore)

for i in "${folders[@]}"
do
    mkdir -p $i
    find $i/ -type d -exec chmod 777 {} \;
    find $i/ -type f -exec chmod 666 {} \;
done

echo "don't forget to run next command with sudo to enable voice in linux"
echo "sudo usermod -a -G audio www-data"
Это как раз то - что нужно!
Делаем этот скрипт исполняемым:

Код: Выделить всё

root@cubie:~# chmod +x /srv/www/install-linux.sh  
Запускаем на исполнение командой:

Код: Выделить всё

root@cubie:~# /srv/www/install-linux.sh  
Дождемся когда он закончит работу (в конце предупредит что надо юзера www-data добавить в группу audio, мы это уже сделали).
Кстати, есть такая программка - WinSCP.
Крайне рекомендую скачать и установить. Она работает с CT по протоколу SFTP и выглядит как обычный командер.
Ею удобно пользоваться когда надо залить какие то файлы на сервак (FTP, samba еще не настроены), а главное - с её помощью можно легко менять права/владельца!
Вот скриншот прав папки /srv/www на моем кубике:
Изображение

Теперь перед запуском осталось сделать последнее - перейти по ссылке http://IP_CT/phpmyadmin (IP_CT - IPшник кубика) и:
1. Создаем пустую БД с названием db_terminal.
2. Импортируем в нее данные из файла db_terminal.sql (что скачали в архиве _majordomo_linux_060b.tar.gz)
3. Создаем пользователя, например - mdm, пароль 123 (указать свой) хост укажем localhost и дадим ему полные права для работы с БД db_terminal.
4. Надо подредактировать конфиг сервера MajorDoMo, для этого выполняем команду:

Код: Выделить всё

root@cubie:~# nano /srv/www/config.php  
В этом файле надо подредактировать данные пользователя для доступа к БД db_terminal:

Код: Выделить всё

Define('DB_HOST', 'localhost');
Define('DB_NAME', 'db_terminal');
Define('DB_USER', 'mdm');
Define('DB_PASSWORD', '123');
Имя пользователя и пароль для примера...
Можно попробовать зайти на веб-морду MajorDoMo, для этого в строке адреса браузера наберем http://IP_CT (IP_CT - IPшник кубика)
По идее спустя пару секунд должна появиться форма первоначальной установки, выбираем часовой пояс, язык и тему оформления и подтверждаем выбор.

Для полноценной работы системы осталось запустить циклы. Я запускаю их от пользователя www-data.
Для автоматического запуска при загрузке системы открываем на редактирование файл /etc/crontab:

Код: Выделить всё

root@cubie:~# nano /etc/crontab  
В конец добавляем следующую строчку:

Код: Выделить всё

@reboot www-data /usr/bin/php /srv/www/cycle.php
Можно перезагружать систему командой reboot.

После перезагрузки циклы могут запуститься и тут же остановиться - не пойму с чем это связано, но после повторной перезагрузке все ОК.
И циклы системы можно запустить вручную из командной строки от root:

Код: Выделить всё

root@cubie:~# /usr/bin/php /srv/www/cycle.php    
От пользователя www-data запускаем так:

Код: Выделить всё

root@cubie:~# su www-data
$ /usr/bin/php /srv/www/cycle.php
Кстати в консоль посыпется отладочная информация - можно выловить причину остановки. Когда надоест, нажмите Ctrl+C))

Совсем забыл, надо обновить MajorDoMo до актуальной версии.
Для этого идем в админку - меню слева в самый низ Резерв. копия.
Сначала в секции Save Backup выбираем все галочки и жмем кнопку Create Backup>>> - сделаем на всякий случай резервную копию...
Система немного призадумается и в табличке появится новая запись - имя архива с файлами.
Теперь жмем Update to the latest code>>>, некоторое время ждем, на страничке высветится сообщение об успешном обновлении...
Через некоторое время обрушатся циклы, так что можно не ждать и после обновления сразу перезагрузить кубик командой reboot.

----------------------------------------------------------------------------

Теперь звук. Сообщения Алисы вывожу на колонки с помощью плеера mplayer, музыку и онлайн-радио проигрываю с помощью VLC, управление по http.
Для начала ставим mplayer:

Код: Выделить всё

root@cubie:~# apt-get install mplayer  
Программка подтянет зависимости (их будет много - не пугайтесь ;) ), установим все.
Теперь можно попробовать что-нибудь проиграть от пользователя www-data.
В папке /srv/www/sounds/ есть файлик dingdong.mp3:

Код: Выделить всё

root@cubie:~# su www-data
$ mplayer /srv/www/sounds/dingdong.mp3
В колонках должен буть слышен этот, такой уже знакомый звук)))
Выйдем из сессии www-data командой exit.
Громкость можно чуть подрегулировать, выполняем команду:

Код: Выделить всё

root@cubie:~# alsamixer  
Там интуитивно понятно, кнопки на клавиатуре влево-вправо это выбор устройства, кнопки вверх-вниз это прибавить-убавить...

----------------------------------------------------------------------------

Попробуем настроить онлайн-радио.
Для начала установим VLC плейер:

Код: Выделить всё

root@cubie:~# apt-get install vlc  
Программка подтянет зависимости, установим все.
Теперь подредактируем конфиг, чтобы доступ к командам по http был не только у localhost, для этого открываем на редактирование файл /etc/vlc/lua/http/.hosts:

Код: Выделить всё

root@cubie:~# nano /etc/vlc/lua/http/.hosts  
Ищем строчку #192.168.0.0/16, убираем символ # - таким образом мы разрешим внутренней локалке 192.168.0.0/16 юзать http-интерефейс.
Так же необходимо добавить запуск http-сервиса VLC при старте системы - надо добавить в /etc/crontab (как уже писал выше) в конец следующую строку:

Код: Выделить всё

@reboot www-data vlc -I http
Перезагружаемся, проверяем - в адресной строке браузера вводим http://IP_CT:8080, нажимаем Enter и должна отобразиться страничка управления VLC.
Корректно у меня работает только в IExplorer, в мозиле почему то все съезжает...

Теперь заходим в админку Majordomo, идем в меню Маркет дополнений, ищем там Online Radio (v 1.0) by LuckyFIA жмем напротив ссылку Install.
Скорее всего после установки дополнения, остановятся циклы, поэтому надо перезапустить систему командой reboot.
Как я уже писал проигрывать будем через другой терминал, его надо создать - нажимаем там же в админке меню Терминалы, затем ссылку Добавить новую запись и вводим
настройки для работы с VLC:
Изображение
Добавим одну радиостанцию, для этого нажимаем в админке меню Онлайн радио, выбираем только что созданный терминал (MEDIA), нажимаем кнопку добавить радиостанцию и вводим название, урл потока:
Изображение

Теперь, опять же в админке, выбираем пункт Меню управления, добавляем запись типа select с названием "Online Radio", затем еще одну запись так же "Online Radio", но ROOT-меню выберем предыдущее...
Последнее меню будет html-блок, в редакторе вводим строчку [#module name="app_radio"#], жмем сохранить.
Переходим на вебморду MajorDoMo, нажимаем меню "Online Radio" и видим следующую картинку:
Изображение
Можно слушать радио 8-)

Заметил еще одну особенность.
На Raspberry Pi у меня стоит аналогичная система, сейчас я потихоньку переезжаю на Cubietruck.
Так вот, аудиокарта малинки поддерживает микширование, т.е. при работе vlc (например играет радио) Алиса может начать говорить (вывод через mplayer)
На Cubietruck такой фокус не прокатил - при работе vlc, mplayer выдавал ошибку:

Код: Выделить всё

[AO_ALSA] alsa-lib: pcm_hw.c:1293:(snd_pcm_hw_open) open '/dev/snd/pcmC0D0p' failed (-16): Device or resource busy
Благодаря пользователю LuckyFIA в теме Онлайн радио - с Маркет дополнений нашлось решение - надо настроить программный микшер dmix.
Для этого создаем файл:

Код: Выделить всё

root@cubie:~# touch /etc/asound.conf  
И вставляем следующий текст:

Код: Выделить всё

pcm.!default {
        type plug
        slave.pcm "dmixer"
}

pcm.dmixer  {
        type dmix
        ipc_key 1024
        ipc_perm 0666
        slave {
                pcm "hw:0,0"
                period_time 0
                period_size 1024
                buffer_size 4096
                rate 44100
        }
}
ctl.dmixer {
        type hw
        card 0
}
С настройками можно побаловаться, я вставил конфиг по-умолчанию.
И та-дааам, вопроизводят аудиопоток одновременно и vlc и mplayer.
Последний раз редактировалось electric Вт апр 28, 2015 2:28 pm, всего редактировалось 17 раз.
За это сообщение автора electric поблагодарили (всего 9):
DimRay (Пт окт 31, 2014 6:21 pm) • dimitrystd (Вс ноя 30, 2014 6:40 pm) • Amarok (Пт фев 20, 2015 10:56 am) • mirsum (Пн фев 23, 2015 1:36 am) • zelevova (Чт мар 05, 2015 3:38 pm) • skysilver (Ср мар 11, 2015 4:57 pm) • devoff (Пт апр 17, 2015 7:34 pm) • fynto (Пт июн 05, 2015 12:49 pm) • rtroyakov (Пн окт 12, 2015 7:19 pm)
Рейтинг: 10.47%
Было: Majordomo v.0.6.0.b на Cubietruck. OS Armbian с переносом на HDD
Стало: ioBroker на Cubietruck OS Armbian + ZigBee Xiaomi + OWFS + BLE.
electric
Сообщения: 309
Зарегистрирован: Вт сен 17, 2013 10:11 pm
Благодарил (а): 3 раза
Поблагодарили: 56 раз

Re: Cubietruck Debian Wheezy HDD 2.5". Установка Majordomo.

Сообщение electric » Вс июн 22, 2014 8:11 pm

null
Было: Majordomo v.0.6.0.b на Cubietruck. OS Armbian с переносом на HDD
Стало: ioBroker на Cubietruck OS Armbian + ZigBee Xiaomi + OWFS + BLE.
PAV
Сообщения: 949
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 68 раз
Поблагодарили: 94 раза

Re: Cubietruck Debian Wheezy HDD 2.5". Установка Majordomo.

Сообщение PAV » Пн июн 23, 2014 9:52 am

Ты крут. ;)

Проблемка - залил cubian в nand. Теперь беру образ debian пишу на карточку, вставляю в куб, ничего не происходит - система грузится из nand.
Как быть?
electric
Сообщения: 309
Зарегистрирован: Вт сен 17, 2013 10:11 pm
Благодарил (а): 3 раза
Поблагодарили: 56 раз

Re: Cubietruck Debian Wheezy HDD 2.5". Установка Majordomo.

Сообщение electric » Пн июн 23, 2014 7:55 pm

PAV писал(а):Ты крут. ;)
Спасибо, но это еще не все...
Победил проблему (кажется) что писал на этом форуме, скоро продолжу...
PAV писал(а):Проблемка - залил cubian в nand. Теперь беру образ debian пишу на карточку, вставляю в куб, ничего не происходит - система грузится из nand.
Как быть?
Как бэ по идее, очередность загрузки в кубитрак USBotg - microSD - nand... Где то читал, не помню...
1. Почитай тут - http://vermus.blogspot.ru/2013/12/debia ... -nand.html
2. У меня стоит какой то андроид, если надо - могу посмотреть, можешь прошить его в нанд
3. Вот тут - http://olorg.ru/page/raspakovyvaem-i-za ... cubietruck почитай коменты, тоже ведроид предлагают...
4. И тут еще - http://eta4.net/lytdybr/?p=2915
Было: Majordomo v.0.6.0.b на Cubietruck. OS Armbian с переносом на HDD
Стало: ioBroker на Cubietruck OS Armbian + ZigBee Xiaomi + OWFS + BLE.
PAV
Сообщения: 949
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 68 раз
Поблагодарили: 94 раза

Re: Cubietruck Debian Wheezy HDD 2.5". Установка Majordomo.

Сообщение PAV » Вт июн 24, 2014 2:46 pm

Вот тут поправьте - root@cubie:~# df -hdd if=/dev/zero of=/dev/sda1 bs=1024 count=2048K
там с dd должно начинаться - запнулся ;)

У меня на LOCAL время не надо было ставить и так нормальное было

Надо создать файл Надо создать лог-файл /var/log/ntpdate.LOG - и еще лучше бы сразу команду писать ;)
Последний раз редактировалось PAV Вт июн 24, 2014 3:08 pm, всего редактировалось 3 раза.
PAV
Сообщения: 949
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 68 раз
Поблагодарили: 94 раза

Re: Cubietruck Debian Wheezy HDD 2.5". Установка Majordomo.

Сообщение PAV » Вт июн 24, 2014 2:48 pm

Залил другую версию (с HDMI) - запустилось, настраиваю.

Похоже даже диски у нас одинаковые, т.к. все цифры чуть не до последней совпадают ;)
PAV
Сообщения: 949
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 68 раз
Поблагодарили: 94 раза

Re: Cubietruck Debian Wheezy HDD 2.5". Установка Majordomo.

Сообщение PAV » Вт июн 24, 2014 4:50 pm

По шагам прошел. Накатил MJD по инструкции для линукса - цикл падает. Разбираюсь, буду благодарен, если скаженет куда копать.
Теперь летает шустро, гораздо быстрее малинки - лайк.

Странно у меня есть папка log? а теперь еще появилась и log.hdd. Что за...?
electric
Сообщения: 309
Зарегистрирован: Вт сен 17, 2013 10:11 pm
Благодарил (а): 3 раза
Поблагодарили: 56 раз

Re: Cubietruck Debian Wheezy HDD 2.5". Установка Majordomo.

Сообщение electric » Ср июн 25, 2014 9:02 pm

PAV писал(а):Вот тут поправьте - root@cubie:~# df -hdd if=/dev/zero of=/dev/sda1 bs=1024 count=2048K
там с dd должно начинаться - запнулся ;)
Блин, точно... скопировал криво видимо, так как инструкцию писал прямо во время выполнения))
Исправил, спасибо!
PAV писал(а):У меня на LOCAL время не надо было ставить и так нормальное было
Хм, у меня почему то было "UTC".
PAV писал(а):Надо создать файл Надо создать лог-файл /var/log/ntpdate.LOG - и еще лучше бы сразу команду писать ;)
Да расширение в принципе не обязательно, сам факт что файл в директории /var/log какбы намекает)) исправил...
Да много есть команд создания файла, кто как любит... Например:

Код: Выделить всё

root@cubie:~# touch /var/log/ntpdate.log 
PAV писал(а):По шагам прошел. Накатил MJD по инструкции для линукса - цикл падает. Разбираюсь, буду благодарен, если скаженет куда копать.
Теперь летает шустро, гораздо быстрее малинки - лайк.
Сейчас оформляю вторую часть - как раз установку MDM, но не со всем еще разобрался...
PAV писал(а):Странно у меня есть папка log? а теперь еще появилась и log.hdd. Что за...?
В папке /var/log.hdd/ те же логи что и в /var/log/. Есть такой демон ramlog.
Пока не пойму что он делает, но он периодически глючит ввиду того, что логи dmesg ему не доступны, так как при запуске система туда пишет сообщения.
Глюки можно посмотреть в логе этого демона по пути /var/log/ramlog...
Вот в эту папку ramlog копирует все лог-файлы...
Было: Majordomo v.0.6.0.b на Cubietruck. OS Armbian с переносом на HDD
Стало: ioBroker на Cubietruck OS Armbian + ZigBee Xiaomi + OWFS + BLE.
Аватара пользователя
Vspb
Сообщения: 21
Зарегистрирован: Ср июн 25, 2014 11:04 pm
Благодарил (а): 5 раз
Поблагодарили: 0

Re: Cubietruck Debian Wheezy HDD 2.5". Установка Majordomo.

Сообщение Vspb » Ср июн 25, 2014 11:09 pm

Привет! Спасибо за мануал! С нетерпением ждем продолжения!

Часть 1 пройдена и есть вопрос: после переноса на HDD с самого HDD можно загружаться? У меня как только SD не в слоте - загрузки нет :(

Наверно глупый вопрос, но я в nix полный нуб :)
Ответить