September 18, 2019, 07:37:24 am

News:

Have you visited the Allwinner Chipset wiki? - http://linux-sunxi.org/


Домашний сервер Cubian шаг за шагом

Started by luminofor, February 03, 2014, 03:37:57 pm

Previous topic - Next topic

luminofor

February 10, 2014, 05:11:10 pm #15 Last Edit: March 06, 2014, 07:14:18 am by luminofor
Русификация интерфейса

sudo dpkg-reconfigure locales

На Lubuntu почему то не сработало..

luminofor

Синхронизация времени

Если у вас по каким то причинам не синхронизируется время (должно или нет, не знаю, у меня с самого начала не правильное время было), то можно воспользоваться простой командой из инструкции
sudo ntpdate-debian
При этом вероятнее всего время будет показываться по Гринвичу.

Но есть более "продвинутый" способ настроить время
Выставляем временную зону:
sudo dpkg-reconfigure tzdata
Корректируем с сервером точного времени time.in.ua (можете любой выбрать, который нравится)
sudo ntpdate time.in.ua
Последний штрих, чтобы в трее изменилось время на правильное
date

Вообще по хорошему надо бы это в cron добавить, ток руки не доходят пока
Но мы к этому вопросу еще вернемся  :)

UnКаЙF

O! luminofor, супер.

Я, вот, расширил себе раздел rootfs на весь флеш после вкуривания кучи текстов.
Во первых nand-part не выдает информацию о разделах если запускать не под рутом.
Вот моя таблица (у меня Cubietruck rev.A):
check partition table copy 0: mbr: version 0x00000200, magic softw411
magic softw411 is not softw311
check partition table copy 1: mbr: version 0x00000000, magic         
magic          is not softw311
check partition table copy 2: mbr: version 0x00000000, magic         
magic          is not softw311
check partition table copy 3: mbr: version 0x00000000, magic         
magic          is not softw311
all partition tables are bad!
check partition table copy 0: mbr: version 0x00000200, magic softw411
OK
check partition table copy 1: mbr: version 0x00000200, magic softw411
OK
check partition table copy 2: mbr: version 0x00000200, magic softw411
OK
check partition table copy 3: mbr: version 0x00000200, magic softw411
OK
mbr: version 0x00000200, magic softw411
3 partitions
partition  1: class =         DISK, name =   bootloader, partition start =    32768, partition size =   131072 user_type=0
partition  2: class =         DISK, name =       rootfs, partition start =   163840, partition size =  4194304 user_type=0
partition  3: class =         DISK, name =        UDISK, partition start =  4358144, partition size = 10584064 user_type=0
check partition table copy 0: mbr: version 0x00000200, magic softw411
OK
check partition table copy 1: mbr: version 0x00000200, magic softw411
OK
check partition table copy 2: mbr: version 0x00000200, magic softw411
OK
check partition table copy 3: mbr: version 0x00000200, magic softw411
OK
mbr: version 0x00000200, magic softw411
3 partitions
partition  1: class =         DISK, name =   bootloader, partition start =    32768, partition size =   131072 user_type=0
partition  2: class =         DISK, name =       rootfs, partition start =   163840, partition size =  4194304 user_type=0
partition  3: class =         DISK, name =        UDISK, partition start =  4358144, partition size = 10584064 user_type=0

Кое-где в англоязычном форуме написано, что можно переразметить второй раздел (rootfs) не трогая первый (bootloader), если использовать nand-part в форме
nand-part nand-device 'name2 len2 [usertype2]' ['name3 len3 [usertype3]'] ...
но у меня не вышло.
Поэтому поступил так: взял данные из таблицы о разделе bootloader и подсунул их nand-part. Для второго раздела (rootfs) взял имя, а размер посчитал как сумму размеров 2-го и 3-го раздела. Ключи -f и a20 важны, - они влияют на версию формируемой таблицы разделов. Судя по полям magic у меня версия Allwinner A20 rev.A. Впрочем, я и так это знал  :) Проделано на работающей системе при смонтированной rootfs.
sudo nand-part -f a20 /dev/nand 32768 'bootloader 131072' 'rootfs 14778368'
перезагрузил и вуаля !

После перекура:
sudo resize2fs -F /dev/nandb

luminofor

February 15, 2014, 05:56:45 pm #18 Last Edit: March 10, 2014, 04:03:47 pm by luminofor
Настройка вывода на экран VGA (частичный перевод этой статьи)

Первым делом нужно спаять переходник. Поиск подходящих разъемов оказался весьма нетривиальной задачей. Если у вас есть разъемы "мама" с шагом 2мм, это здорово, мне же пришлось изобретать  :)
Паяем по схеме


Обратите внимание, что не следует использовать 33 и 35 выходы на разъеме U15. Это сигналы HSYNC и VSYNC для LVDS, а не для VGA!

Теперь установим необходимые пакеты
sudo apt-get install libusb-1.0-0-dev pkg-config
Загрузим sinxi-tools исходники и скомпилируем их
git clone git://github.com/linux-sunxi/sunxi-tools/
cd sunxi-tools
make

Если вдруг окажется, что утилиты git и make отсутствуют в вашей системе (в какой то из версий прошивки так и есть), то установим их
sudo apt-get install git make
Сохраним резервную копию файла конфигурации script.bin
sudo cp /boot/script.bin /boot/script.bin.bck
Если вы выходили из директории sinxi-tools, то войдем в нее снова, т.к. там лежат нужные исполняемые файлы
cd /home/cubie/sunxi-tools
Переконвертируем script.bin в .fex файл (в текстовый конфиг)
sudo ./bin2fex /boot/script.bin /boot/script.fex
Откроем script.fex текстовым редактором
sudo nano /boot/script.fex
Ищем блок [disp_init]
По этой ссылке можно почитать про каждый параметр конфига, я лишь приведу пример своей конфигурации для 1920х1080 разрешения экрана
[disp_init]
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 4
screen0_output_mode = 10
screen1_output_type = 0
screen1_output_mode = 4
fb0_framebuffer_num = 2
fb0_format = 10
fb0_pixel_sequence = 0
fb0_scaler_mode_enable = 1
fb1_framebuffer_num = 2
fb1_format = 10
fb1_pixel_sequence = 0
fb1_scaler_mode_enable = 1

После этого обратно сконвертируем конфиг
sudo ./fex2bin /boot/script.fex /boot/script.bin
И перезагрузимся
sudo reboot
Если вы увидите бледное и очень яркое изображение, не пугайтесь, значит в вашем мониторе нет нагрузочных резисторов. Значит их нужно спаять. Между каждым цветом и "землей" припаиваем разистор по 75Ом

ЗЫ Отпишитесь кто то как работают режимы disp_mode=1,2,3. Телика с HDMI нету так что проверить не на чем.

luminofor

Установка графического интерфейса LXDE (вольный перевод этой статьи)

Убедитесь, что на карте SD достаточно места для установки! Рекомендуемый размер rootfs  более 1Gb. Испоьзуйте cubian-resizefs для увеличения размера rootfs без потери данных

1. Обновим все пакеты до последних версий
sudo apt-get update
sudo cubian-update

Процесс этот не быстрый, можно выпить кофе  :)
cubie@Cubian:~$ sudo cubian-update
*** Performing self-update
*** Cubian updater v1.2.9 http://cubian.org
*** Checking updates from server
*** Downloading Firmware/Updates (this may take a while)
*** Updating firmware
*** Updating kernel
*** Updating modules
*** Depmod 3.4.75-sun7i
*** Updating fs
*** Update success, A reboot is needed for changes to take effects

Перезагружаемся
sudo reboot
2. Установим xserver-xorg-core и xinit
Нам нужны только xserver core пакеты, не устанавливайте пакет xserver-xorg, он очень большой и содержит много неиспользуемых файлов
sudo apt-get install xserver-xorg-core xinit
3. Установим xserver-xorg-video-sunximali и sunxi-disp-test
Это драйверы дисплея и программа для проверки работы драйвера
sudo apt-get install xserver-xorg-video-sunximali sunxi-disp-test
4. А теперь собственно LXDE
sudo apt-get install lxde
5. Добавим пользователя cubie в группу video
Для того, чтобы иметь доступ к устройству mali
usermod -a -G video cubie
6. Проверим работу графического интерфейса
Если все прошло успешно, то после перезагрузки мы должны увидеть приглашение
Пишем иля пользователя - cubie, ваш пароль, попадаем в окружение рабочего стола. Находим в стартовом меню lxterminal и запускаем в нем команду
sudo sunxi_disp_test
Если драйвера установились правильно, видим картинку

ua3prq

luminofor
Спасибо за описания, хорошо когда все собрано в одном месте.

По поводу отвала HDD- там можно посмотреть SMART, атрибут вроде [load cycle count], если носитель постоянно перезапускается- этот атрибут и [Power-off retract count] должны набирать счетчик постоянно и на много. Я обычно на MHDD это дело гоняю.

luminofor

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


luminofor

March 06, 2014, 05:34:12 am #23 Last Edit: March 19, 2014, 03:08:55 am by luminofor
Установка Transmission-daemon

Пишем в консоли

sudo apt-get install transmission-daemon
После завершения установки сервис автоматически запускается с настройками по умолчанию, остановим его
sudo /etc/init.d/transmission-daemon stop
Теперь отредактируем конфиг
sudo nano /etc/transmission-daemon/settings.json
Все параметры рассматривать не будем, самые основные
Итак по порядку следования в конфиге.

"download-dir": "/var/lib/transmission-daemon/downloads"
Путь до закачиваемых файлов
Меняем на свой, например:
"download-dir": "/mnt/hdd"
Надеюсь у вас по этому пути уже смонтирован жесткий диск

"port-forwarding-enabled": false,
Меняем на
"port-forwarding-enabled": true
Тем самым разрешаем форвардинг, не забываем включить UPnP в своем роутере

"rpc-enabled": true
Оставляем, если хотим заходить в веб интерфейс по паролю, иначе меняем на
"rpc-enabled": false

"rpc-password": "{f40c259f547fb2b99f7faa1e27d6e9b31905e9c1DcVjhWHD"
Удаляем все, что в кавычках, пишем вместо этого желаемый пароль. Пароль потом при запуске демона зашифруется. Например:
"rpc-password": "cubie"

Порт, на котором "слушается" веб интерфейс
"rpc-port": 9091

"rpc-username": "transmission"
Имя пользователя, меняем на свое понравившееся
"rpc-username": "cubie"

"rpc-whitelist-enabled": true
Оставляем, если хотим, чтобы к веб интерфейсу был доступ только с локальной машины, иначе меняем
"rpc-whitelist-enabled": false

Ctrl+o, сохраняем конфиг. Ctrl+x, выходим обратно в консоль

Запускаем сервис
sudo /etc/init.d/transmission-daemon start

Теперь проверим запустился ли сервис и веб интерфейс, открываем в браузере адрес http://127.0.0.1:9091
Видим приглашение ввести логин и пароль.
Все работает!  ;)

Теперь установим графический веб интерфейс

Раджа

ИМХО лучше отключить поддержку uPNP и пробросить порт через роутер руками.
Заткнись и смотри аниме!

luminofor

Quote from: Раджа on March 06, 2014, 07:42:07 am
ИМХО лучше отключить поддержку uPNP и пробросить порт через роутер руками.

Ну это на любителя, если руками открывать порт на роутере, то тот, который указан в
"peer-port": 51413
В данном случае это 51413

luminofor

Обходим запреты. Часть 1. Socks Proxy over SSH

Прошу не кидать в меня камни, если про этот способ все знают))
Не секрет, что на многих предприятиях есть злые админы, которые частично закрывают доступ к интернету. Я для себя эту проблему решил следующим образом.
Сперва установим программу Xshell4, она бесплатна для некомерческого использования. Чтобы скачать потребовалась регистрация.
Устанавливаем. Запускаем
Нажимаем кнопку New
Во вкладке Connection пишем параметры подключения к нашему кубику

В поле host пишем адрес своего кубика из мира. Я надеюсь у вас есть "белый" IP или учетная запись какого нибудь ddns сервиса и правильно настроенный роутер
Переходим во вкладку Authentication

Пишем логин и пароль доступа к кубику по SSH
Переходим в папку Tunneling, нажимаем Add..
Выбираем настройки как на картинке

Сохраняем настройки OK
Нажимаем File - Open

Выбираем только что созданный профиль, и смотрим как идет соединение.
После того как соединение произошло, выскочит запрос о добавлении сертификата безопасности.
Принимаем сертификат.
Сворачиваем программу, не закрываем!
Открываем браузер Firefox, идем в настройки

На вкладке Сеть находим кнопку Настроить

Делаем как на картинке, сохраняем и радуемся  :D
ЗЫ Таким образом настраиваются программы, умеющие работать через Socks прокси серверы. К другим нужно применять жесткие меры в виде применения различных соксофикаторов.
ЗЗЫ Если соединение не проходит, пробуйте указать другой порт, соответственно перед этим нужно сменить порт SSH в кубике

ua3prq

На кубике- SOCKS как-то нужно дополнительно конфигурировать?

Ну и т.к. сам занимаюсь админкой на предприятии, хочу сказать, что скорее всего кроме 443 порта пролезть в инет на проксю не получится в большинстве мест. Это каким надо быть админом, чтобы держать для для юзерей открытым 22-й порт в инет  ;)

И если кто пробовал, вроде наш любимый PuTTY тоже так умеет делать?

Раджа

Quote from: ua3prq on March 06, 2014, 11:56:49 pm
И если кто пробовал, вроде наш любимый PuTTY тоже так умеет делать?


Умеет еще как умеет (на скрине)

Там даже отдельная программа есть plink.exe
Заткнись и смотри аниме!

luminofor

Quote from: ua3prq on March 06, 2014, 11:56:49 pm
На кубике- SOCKS как-то нужно дополнительно конфигурировать?

Нет, не нужно, прокся делается самим Xshell на локальном компе

Quote from: ua3prq on March 06, 2014, 11:56:49 pm
скорее всего кроме 443 порта пролезть в инет на проксю не получится в большинстве мест.


Кстати на одном предприятии я так и ходил в нет, через 443 порт  8)