Добавляем виртуальных пользователей vsftpd на FreeBSD

Генерируем пароль:

openssl passwd -1 yoursecretpassword

Результат($1$5htlgrc7$FHf5uCbSol0oKKYN3upE0/), добавляем в файл /etc/vsftpd_login.db. Синтаксис файла:
Имя_юзера1:Пароль_юзера1
Имя_юзера2:Пароль_юзера2

Создать папку по имени пользователя в /home/Имя_юзера
права на нее выставить 755, владельцем сделать ftpuser‘а под которым работают виртуальные пользователи. Получить список всех пользователей:
cat /etc/passwd
.

Читать далее «Добавляем виртуальных пользователей vsftpd на FreeBSD»

Добавить жесткий диск в FreeBSD за 5 минут

Подробная инструкция с пояснениями

Выбор имени жесткого диска

Для начала нужно определить имя устройства, которое мы только что добавили. В этом нам поможет следующая команда:

geom disk list
01 - geom disk list

Или же вот такая команда:

camcontrol devlist
02 - camcontrol devlist

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

До установки нового устройства мы знали, что наша система установлена на ada0, значит по логике вещей наш новый диск ada1. Это вы можете определить по названию нового устройства, его серийному номеру или же объему.

Теперь проверим, имеется ли разметка на нашем новом диске

gpart show ada1
03 - gpart show ada1

Диск не имеет никакой разметки.

Удаление существующей разметки

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

gpart destroy -F ada1

Создание разметки GPT

Для начала мы должны создать разметку диска. Крайне рекомендую забыть о MBR и перейти на новую, более удобную и функциональную — GPT.

Создаем разметку GPT на диске, затем проверяем, что вышло:

gpart create -s gpt /dev/ada1
gpart show ada1
04 - gpart create gpt

Теперь у нас диск имеет разметку GPT. Из вывода можно увидеть, что абсолютно весь диск, начиная с LBA 34 и заканчивая LBA 8388541 пуст. LBA 0−33 — зарезервированы системой под таблицу разделов.

Допустим, нам необходимо создать два раздела на этом диске:

  • swap — раздел подкачки
  • data — раздел типа ufs для хранения каких либо, необходимых нам, данных.

Создание разделов (слайсов)

Если установка производится на современные жесткие диски, у которых размер сектора = 4 кб, то при создании разделов (партиций) необходимо использовать выравнивание. Можно поступить двумя способами: 1) если указываем параметры раздела в блоках, то номер блока вводить кратным 8, например: -b 40; 2) если указываем размер раздела в байтах, либо не указываем вообще начало и размер, использовать параметр -a 4k, который подгонит начало и конец раздела под секторы, размером 4 кб. Так как мы в данном примере производим тестовую установку на виртуальный жесткий диск, то этого можно не делать. В любом случае перед созданием разделов нужно точно знать размер сектора вашего накопителя, иначе это выльется жуткими тормозами в работе.

Теперь создадим разделы. Для этого существует команда gpart add с различными параметрами. Первый параметр -t — указывает на тип создаваемой файловой системы. В нашем случае будет использовано два типа: freebsd-swap и freebsd-ufs. Далее идут два необязательных параметра: -b — указывает на номер LBA, начиная с которого необходимо создать раздел. Если не указать данный параметр, то раздел будет создан автоматически с первого свободного LBA. -s — указывает на размер раздела в LBA. Размер одного блока LBA = 512 байт. Желательно указывать в количестве блоков LBA, но можно и в кило/мега/гига/… байтах (суффикс k/M/G). Если не указать данный параметр, то раздел будет создан до максимально возможного LBA в пределах пустой области. Также в качестве параметра можно указать метку раздела, например: -l swap1 — в этом случае будет создана метка /dev/gpt/swap1, по которой можно более удобно обращаться к разделу. Последним обязательным параметром идет путь к диску. В нашем случае: /dev/ada1.

Давайте создадим два раздела, а затем посмотрим, что у нас получилось. Первый раздел будем создавать без указания начального LBA, но с указанием размера 1 Гб (2097152 блоков). Второй раздел создадим без указания начального LBA и без указания размера — таким образом он будет создан на всем свободном пространстве.

gpart add -t freebsd-swap -s 2097152 /dev/ada1
gpart add -t freebsd-ufs /dev/ada1
gpart show ada1
05 - gpart add

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

Создание файловой системы (форматирование)

Разделы типа swap форматировать нет необходимости. А вот разделы типа ufs перед использованием должны быть отформатированы. Правильнее сказать: на них должна быть создана файловая система.

Для того, чтобы создать файловую систему на втором разделе, достаточно выполнить следующую команду:

newfs -U /dev/ada1p2
06 - newfs

В данном случае использовался параметр -U — он говорит о том, что в данной файловой системе должен использоваться механизм Soft Updates. Вы можете не использовать этот параметр, чтобы не включать данный механизм.

Монтирование

Следующим шагом будет монтирование разделов. Для начала, чтобы не забыть, добавим наши новые разделы в /etc/fstab. Мой файл после редактирования выглядит вот так:

07 - etc fstab

Я добавил две строки: первая монтирует swap, вторая монтирует новый раздел в каталог /mnt. На деле у вас должен быть какой-то более значимый каталог. Каталог /mnt служит для временно монтированных устройств.

Для того, чтобы перемонтировать все разделы согласно файла /etc/fstab, просто выполним команду:

mount -a
08 - mount a

Как видно из вывода, раздел /dev/ada1p2 смонтирован. Теперь посмотрим, что произошло с разделом SWAP. Выполним команду:

swapinfo
09 - swapinfo 1

Как видно, новый раздел SWAP не смонтирован. Чтобы смонтировался SWAP, необходимо его включить специальной командой:

swapon /dev/ada1p1
10 - swapon

Точно так же при помощи команды swapoff нужно отключать раздел SWAP перед тем, как произвести над ним какие-то действия.

На этом все действия по добавлению нового жесткого диска в систему завершены.

Краткая инструкция

Дано: жесткий диск /dev/ada1

Цель: удалить существующую разметку, создать новую разметку GPT, создать два раздела: подкачка и данные и подключить их к рабочей системе.

После каждого действия выполняйте gpart show, чтобы наблюдать за результатом. Последовательность действий:

  1. Удалить существующую разметку: gpart destroy -F ada1
  2. Создать новую разметку: gpart create -s gpt /dev/ada1
  3. Создать два раздела: подкачка и данные: gpart add -t freebsd-swap -s 2097152 /dev/ada1 gpart add -t freebsd-ufs /dev/ada1
  4. Создать файловую систему UFSv2 на втором разделе: newfs -U /dev/ada1p2
  5. Добавить в файл /etc/fstab строки для автомонтирования при загрузке: /dev/ada1p1 none swap sw 0 0 /dev/ada1p2 /mnt ufs rw 2 2
  6. Смонтировать новый раздел (команда монтирует все разделы из файла /etc/fstab): mount -a
  7. Включить в работу новый раздел swap командой: swapon /dev/ada1p1

На этом настройка завершена.

Ошибки при пропаже подключенного в FSTAB диска

При удалении диска прописанного в fstab система не загрузится нормально, перейдет в однопользовательский режим с доступом к корневому винту только на чтение. Для перевода диска с системой в обычный режим, запустить:
mount -a

Монтируем NTFS

Начиная с FreeBSD 10, Fuse — это часть ядра. Делаем так, чтобы он загружался с системными модулями, в /boot/loader.conf пишем:

fuse_load="YES"

Это сработает после перезагрузки. В текущем сеансе подгрузим этот модуль вручную

#kldload fuse

Проверить загружен ли модуль или нет можно командой

#kldstat

Если в списке будет присутствовать fuse.ko, значит всё хорошо.

#kldstat
Id Refs Address Size Name
1 3 0xffffffff80200000 1fa7c38 kernel
2 1 0xffffffff821a9000 1a7c8 fuse.ko

Далее мы должны определиться, как видит система флешку или внешний жёсткий диск:

#dmesg | grep da

Вывод будет примерно таким:

da0 at umass-sim0 bus 0 scbus1 target 0 lun 0
da0: <JetFlash Transcend 16GB 1100> s/n 00H79BHRYGX22JBN detached
(da0:umass-sim0:0:0:0): Periph destroyed
da0 at umass-sim0 bus 0 scbus1 target 0 lun 0
da0: <JetFlash Transcend 16GB 1100> Removable Direct Access SPC-4 SCSI device
da0: Serial Number 00H79BHRYGX22JBN
da0: 40.000MB/s transfers
da0: 14870MB (30453760 512 byte sectors)
da0: quirks=0x12<NO_6_BYTE,NO_RC16>
da1 at umass-sim1 bus 1 scbus2 target 0 lun 0
da1: <USB DISK 1.00> s/n 8968888304C9BB52 detached
(da1:umass-sim1:1:0:0): Periph destroyed
da1 at umass-sim1 bus 1 scbus2 target 0 lun 0
da1: <USB DISK 1.00> Removable Direct Access SCSI-2 device
da1: Serial Number 8968888306C9BB52
da1: 40.000MB/s transfers
da1: 1999MB (4093952 512 byte sectors)
da1: quirks=0x2<NO_6_BYTE>

Видим, что в системе у нас две флешки с идентификаторами da0 и da1. В нашем примере мы будем использовать только флешку da0. Монтируем её следующей командой:

ntfs-3g /dev/da0 /mnt

/dev/da0 — это наша флешка, мы это выяснили в пункте 3.
/mnt — это точка монтирования. Она может быть любой.

Если появилась ошибка, монтируем раздел флешки. После ввода

ntfs-3g /dev/da0

жмём TAB и видим разделы флешки

da0 da0s1

И монтируем этот раздел

ntfs-3g /dev/da0s1 /mnt

Переходим в каталог, куда мы примонтировали флешку и видим там её содержимое:

#cd /mnt
#ll
total 13
drwxrwxrwx 1 root wheel 0 4 нояб. 17:23 System Volume Information/
-rwxrwxrwx 1 root wheel 9 4 нояб. 18:05 xxx.xxx*
-rwxrwxrwx 1 root wheel 22 4 нояб. 18:04 Архив ZIP - WinRAR.zip*
-rwxrwxrwx 1 root wheel 9904 4 нояб. 18:04 Лист Microsoft Office Excel.xlsx*

Теперь на флешку можно записывать файлы и читать их с неё. Для того, чтобы отмонтировать флешку, сначала покинем каталог, куда она примонтирована. Например,

#cd /

А после этого, воспользуемся командой

#umount /mnt

Использование /etc/fstab - таблицы ФС для монтирования:

При  ntfs-3g обязательно использовать опцию late

воспользуемся опцией mountprog=<program> и заменим ntfs-3g на ntfs в /etc/fstab:

# Device Mountpoint FStype Options Dump Pass#
/dev/da0p1 /ExtHDD ntfs rw,mountprog=/usr/local/bin/ntfs-3g,late 0 0

Dump - утилитой dump(8) снимать специальные архивные копии для ФС. 0 - не снимать.
Pass - порядок проверки fsck. 0 - файловую системы не нужно проверять
Если у вас произошла ошибка при монтировании, та что ниже:

noauto  - не монтировать автоматически при загрузке ОС.
теперь должно быть без ошибок:

% mount /dev/da0p1

или если использовали опцию late(опция указывает на то что раздел не будет смонтирован при mount -a, а только при mount -al ):

% mount -avl

Размонтировать(форсировано)

% umount -f /ExtHDD


Смонтируем вручную с umask=002 и UID=1001(gx1) и GID=0(wheel):

% mount_ntfs-3g -o rw,locale=ru_RU.UTF-8,umask=002,uid=1001,gid=0 \ /dev/ad4s2 /windows % cd /windows/ % mkdir -p /windows/TEST/TEST-NTFS % :> /windows/TEST/TEST-NTFS/test-ntfs % ls -ld /windows/TEST/TEST-NTFS drwxrwxr-x 1 gx1 wheel 0 13 ноя 17:42 /windows/TEST/TEST-NTFS/ % ls -l /windows/TEST/TEST-NTFS/test-ntfs -rwxrwxr-x 1 gx1 wheel 0 13 ноя 17:42 /windows/TEST/TEST-NTFS/test-ntfs*

Хм...,на директорию правильно, а на файл должно быть -rw-rw-r--.
Ну да ладно.

Локальная документация:
file:///usr/local/share/doc/ntfs-3g/README.FreeBSD

Дополнительные ссылки:
http://www.tuxera.com/community/
http://wiki.slavka.kiev.ua/index.php/Tools/mountntfs

NTFS-3G site: http://ntfs-3g.org/
FUSE site: http://fuse.sourceforge.net/
fuse4bsd site: http://fuse4bsd.creo.hu/

Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=14951.

Источники:

https://blog.denisbondar.com/post/freebsd-add-new-hdd

https://try2fixkb.ru/linux/freebsd-11-mount-ntfs-3g


WEB-камера из телефона

Программа для android телефона превратит телефон на андроиде в IP камеру. Утилита IPCamAdapter позволит увидеть данную IP камеру операционной системе Windows и программам .

Дополнительно:


Сетевой экран на телефон

NetGuard-Pro-v2.224_build_2019012001
(root не нужен)

FreeBSD, установка и настройка fail2ban

обновлено 23.01.2026

pkg install py311-fail2ban  
sysrc fail2ban_enable="YES"

Указать верные пути до журналов апача в paths-freebsd.conf.

Создаем свой файл конфигурации(local — позволяет при обновлении не затирать наши настройки), vi /usr/local/etc/fail2ban/jail.local:

[DEFAULT]
ignoreip = 127.0.0.1 192.168.37.0/24
# время бана в секундах(только число) или минутах(m)
bantime = 180m

# время проверки,за которое событие успеет повторится
findtime = 900

# максимальное число правонарушений
maxretry = 2
# по-умолчанию применять IPFW
action = bsd-ipfw[table=1]

# метод парсинга логов
backend = auto
usedns= no

[ssh-ipfw]
enabled = true
filter = bsd-sshd
action = bsd-ipfw[table=50]
logpath = /var/log/auth.log
maxretry = 3

[proftpd-ipfw]
enabled = true
filter = proftpd
action = bsd-ipfw[table=51]
# sendmail[name=proftpd, dest=admin@example.com]
logpath = /var/log/proftpd/proftpd.log

#[postfix-ipfw]
#enabled = true
#filter = postfix
#action = bsd-ipfw[table=52]
## sendmail[name=postfix, dest=admin@example.com]
#logpath = /var/log/maillog
#bantime = 604800
#maxretry = 3

#[wordpress]
#enabled = true
#filter = wordpress
#action = bsd-ipfw[table=53]
## sendmail[name=wordpress, dest=admin@example.com]
#logpath = /var/log/auth.log
# выявляем неудачные попытки ввода пароля
[apache]
enabled = true
port = http,https
filter = apache-auth
action = bsd-ipfw[table=53]
logpath = /var/log/apache24/*-error.log
# выявляем потенциальные сканирования уязвимостей
[apache-noscript]
enabled = true
port = http,https
filter = apache-noscript
action = bsd-ipfw[table=53]
logpath = /var/log/apache24/*-error.log
# выявляем попытки переполнения Апача
[apache-overflows]
enabled = true
port = http,https
filter = apache-overflows
action = bsd-ipfw[table=53]
logpath = /var/log/apache24/*-error.log
maxretry = 2
# выявляем неудачные попытки в поиске домашней директории на сервере
[apache-nohome]
enabled = true
port = http,https
filter = apache-nohome
action = bsd-ipfw[table=53]
logpath = /var/log/apache24/*-error.log
maxretry = 2


4. Создаем свою директиву действий при срабатывании фильтров:/usr/local/etc/fail2ban/action.d/bsd-ipfw.local

[Definition]
actionstart =
actionstop =
actioncheck =
#
actionban = ipfw table <table> add <ip>
actionunban = ipfw table <table> delete <ip>
 
[Init]
localhost = 127.0.0.1


5. Добавляем правила создания таблиц файлтубаном в свой сетевой экран:

#!/bin/sh

ipfw -q -f flush
cmd="ipfw -q add"

....

# списки fail2ban
sshd_ban_table="table(50)"
proftpd_ban_table="table(51)"
postfix_ban_table="table(52)"
wordpress_ban_table="table(53)"

...
#####################################################################
...
# запрет по fail2ban списку
$cmd 0210 deny all from "table(1)" to me in via $WAN
$cmd 0205 deny tcp from ${proftpd_ban_table} to me 21 via ${WAN}
$cmd 0210 deny tcp from ${sshd_ban_table} to me 22 via ${WAN}
$cmd 0220 deny tcp from ${postfix_ban_table} to me 25 via ${WAN}
$cmd 0230 deny tcp from ${wordpress_ban_table} to me 80 via ${WAN}
...

 В поставке fail2ban есть утилита контроля и управления — fail2ban-client.
С ее помощью проверим какие правила у нас обрабатываются:

# fail2ban-client status
Status
|- Number of jail: 1
`- Jail list: sshd

Так же можем посмотреть статус любого загруженного правила:

# fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- File list: /var/log/auth.log
`- Actions
|- Currently banned: 0
|- Total banned: 0
`- Banned IP list:

Так же можем посмотреть с помощью fail2ban-client:

# fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 0
| |- Total failed: 3
| `- File list: /var/log/auth.log
`- Actions
|- Currently banned: 1
|- Total banned: 1
`- Banned IP list: 10.200.200.35

Давайте вытащим IP из бана:

# fail2ban-client set sshd unbanip 10.200.200.35
1

Собственно все.

Источники:

https://marvins.ru/administrirovanie/freebsd-fail2ban-ustanavlivaem-i-nastraivaem.html

https://www.lissyara.su/articles/freebsd/security/fail2ban/? 

https://habr.com/ru/post/409915/

https://www.site-motor.ru/docs/freebsd/security_fail2ban.html

https://www.site-motor.ru/manuals/asterisk/asterisk_security_fail2ban.html

https://forum.sys-adm.in/index.php?topic=3121.0

https://itstuff.info/web/install-and-configure-fail2ban/#filters_and_jails

Смена ИМЕЙ кода на модеме E352

Начну с конца. После нескольких часов проб набрел на указатель:


на е352 с 11 прошивкой IMEI at командами не поменять!!!

И все же, Домовой с форпэдэа помог. Запросил старый и новый имей, и в ответ прислал прогу для перепрошивки :

Это не помогло в моем случае:

Метод с DATALOCK работает только на модемах с процессором HISILICON и версия ПО в таких модемах начинается с цифры 21 или 22 как эта Firmware 21.156.00.00.143 А также версия железа Hardware CH2E303SM
Метод с модификацией прошивки HEX редактором через заморозку процесса работает
только на моделях Huawei Е1550 и Е173 с определенным размером микросхемы памяти и типом процессора QUALCOMM и версией железа CD1E153M
Грубо говоря это модифицированные прошивки для Е1550 11.609.18.00.00.B418 и для Е173 11.126.85.00.209.B427
Под другие модели и модемы прошивки никто не модифицировал.
Соотвественно на Е173 с ПО 11.126.16.17.209 или 21.017.01.00.21 21.015.01.00.21 такой метод не работает
Смена IMEI на модели Е150 Е153 E156 E160 E170 E177 E171 E173 E1750 E180 E367 E352 E392 и т.д. работает метод генерации скрипта разрешающего перезапись области в которой хранится IMEI

Сообщение отредактировал Domovoj — 28.11.18, 15:07

Программа* (Soft)— это программа управления модемом для установки на компьютер с ОС Windows, без записи в память модема.
Прошивка** (Dashboard) — это та же программа управления модемом, но подготовленная для записи в память модема:

Запись iso-образа на флешку

Etcher — это молодая кроссплатформенная (Windows, MacOS и Linux) программа для записи iso-образа с дистрибутивом на флешку или микро SD-карту.

Supported Operating Systems

  • Linux (most distros)
  • macOS 10.9 and later
  • Microsoft Windows 7 and later


Etcher в настоещее время находится в интенсивной разработке, но даже в бета-версии, программа исправно выполняет свою функцию «писателя» iso-образа. Я записал с его помощью iso-образ на флешку с дистрибутивом ChaletOS и затем установил на жёсткий диск.

Как установить и использовать Etcher в Linux?

 В настоящее время ещё не созданы .deb или .rpm установочные пакеты для Linux, но вы можете скачать файл .appimage для систем Linux 32 или 64-bit с сайта разработчика www.etcher.io.

Сохранить загружаемый файл:

Затем перейти в папку с файлом ( я сохранил в папку Загрузки) следующей командой в терминале:

cd ~/Загрузки/

Для систем 32-bit:

Сделать файл исполняемым:

chmod a+x Etcher-linux-x86.AppImage

И запустить программу следующей командой:

sudo ./Etcher-linux-x86.AppImage

Для систем 64-bit выполняем в той же последовательности:

chmod a+x Etcher-linux-x64.AppImage

sudo ./Etcher-linux-x64.AppImage

Когда программа запустится, найдите у себя загруженный iso-образ с дистрибутивом:

Вставьте флешку/SD-карту в порт компьютера:

Нажмите кнопку Flash для записи образа:

И дождитесь окончания записи:

Всё. Образ записан. Теперь вы можете использовать флешку/SD-карту с дистрибутивом, как установочные:

Источник: https://github.com/resin-io/etcher

Удачи. Автор: Владимир Долгирев на суббота, мая 21, 2016

Скачать:

Схема сети — чем рисовать

..два инструмента, которыми чаще всего пользуюсь. Также попробую сформулировать мысль, когда и каким инструментом лучше пользоваться.

1) Microsoft Visio

Это наверно первое, что может придти в голову. Это фактически стандарт для рисования схем. Тут и не поспоришь. Инструмент действительно очень функциональный. Более того, иногда при приеме молодых инженеров на работу, некоторые компании чуть ли не обязательным условием ставят «умение работать в Visio». Я бы добавил, что если вы рисуете схему для какой-то компании, то вы обязаны использовать Visio. Скорее всего им захочется иметь возможность вносить правки и тут уже никто не будет разбираться, что за программу вы использовали. Большинство компаний хотят видеть свои схемы именно в Visio-формате.
Большой плюс Visio — огромное количество дополнительных иконок и фигур. Многие вендоры (Cisco, VMware, Check Point, Fortinet и т.д.) сами делают эти иконки для Visio и выкладывают их в открытый (либо закрытый) доступ. К примеру иконки Cisco можно посмотреть здесь.
Несколько скриншотов программы:
C недавнего времени доступна online версия:
Есть один минус — утилита платная. Я знаю, что это мало кого останавливает, но все же. Плюс, как мне кажется, для рядовых задач этот инструмент слишком «мощный». Когда вам нужно быстро «накидать» простенькую схему, то можно вполне обойтись более простым инструментом…

2) Draw.io

На текущий момент это мой любимый инструмент для отрисовки схем. Схемы я затем использую в своих книгах, курсах, статьях и т.д. Изначально это online-платформа которая работает из любого браузера:
Главное удобство — этот сервис интегрируется с Google Drive, а значит все созданные вами схемы будут в одном месте и доступны в любое время. Сам интерфейс и функционал очень напоминает Visio, поэтому особых проблем в навигации не возникнет. Сервис — бесплатный.
Относительно недавно была представлена и десктопная версия. Доступно несколько операционных систем:
Главный минус — маленький набор иконок. Cisco-фигуры хоть и присутствуют, но довольно старого дизайна. При этом нет никаких проблем, если добавлять иконки в png формате.
Хотел бы повториться, что я использую данный сервис исключительно для «своих» схем. Если мне нужно отправить схему заказчику, то я использую только Visio.

Программа CMS для сервера видеонаблюдения

CMS используется для просмотра и записи потока с камер видеонаблюдения на компьютере с Windows XP(в данном случае). У меня подключены к ней две камеры:

  1.  Sunluxy (внутренняя, поворотная, без WEB доступа к настройкам, только через андроид приложение Sricam_18.3.30.apk поначалу управлять приходилось)
  2. IPcam Device C6F0SeZ3N0P0L0, ver.V7.1.9.2.1-20140922(внешняя, это с доступом к настройкам через веб интерфейс с отрправкой на FTP сервер)

CMS для IP камер cmsserial.rar Версия 3.1.0.4 от 18.02.2018, на снимке экрана выглядит следующим образом:

Общий вид

Для компьютерных DVR плат(в т.ч. дозор, TE-104C) захвата видеосигнала c аналоговых камер здесь положил архив(100мб) c ПО(в т.ч. DVR4000) и дровами. Еще вот CMS_Release_bff_3.18.0.7z

 

 

Используем свободные телефоны для пользы дела

MediaDeb: Debian для китафонов чипах MediaTek

В этой заметке я расскажу о том, как превратить старый убитый китафон на чипе MediaTek, пылящийся на полке, уже даже без обновлений от производителя в… сервер под управлением Debian Stretch! Оную операцию я проделал для UMI-X2 и iOcean X8, и прошивки для оных и можно скачать по ссылке у меня в блоге. Учитывая, что типичный китайский телефон уже давно имеет по четыре, а то и десять процессорных ядер и 2GB оперативной памяти, а то и больше, результат получается намного более производительным, чем тот же Raspbberry PI, при схожем окружении.

Дайте догадаюсь, на полке пылится старый телефон? В котором скорее всего 4 или даже 8 ядер, в котором есть 2 GB RAM а то и больше, и уж точно хватает флеша? И не смотря на это производитель забил на апдейты. Или, быть может разбит экран, пластик поцарапан, антенна отвалилась и т.п. Аппарат за замену мы давно купили, старый уже не продашь, ибо никому даром не нужен, а выкидывать жалко.

Именно такие старые аппараты у меня и пылились на чердаке, вот и решил я из них сделать небольшие такие сервачки с debian на борту.

Так что я готов представить общественности первую версию моего небольшого проектика ‘MediaDeb’, который позволяет запустить на mediatek’овских трубках debian. И нет, это не chroot, где отдельные программы из debian запускаются параллельно с android. Это полноценная установка debian с кастомным ядром, в котором включено все, что нужно чтобы развернуть systemd, iotop и прочие нужности, отключен некоторые android-специфичные вещи, которые ломают debian-окружение. Сам же android выпилен из системы во имя экономии оперативной памяти и флеша.

Иными словами, если можно просто взять телефон, прошить его через SP Flash Tool debian прошивкой, воткнуть usb провод и вуоля: устройство определиться как композитное усб устройство с сетевым адаптером, виртуальным ком-портом и флешкой. Последовательный порт можно использовать, чтобы получить доступ к консоли, если вдруг неправильно настроена сеть. По умолчанию прошивка попытается получить IP адрес через dhcp на rndis интерфейсе. Теперь этого зомби можно положить на полку и представить, что мы арендовали небольшой выделенный сервер.

На что годится такой зомби?

В моем случае основное применение для этих зомби-телефонов – кросс-сборка программного обеспечения для arm используя платформу непрерывной интеграции jenkins. Так же в таком варианте этот аппарат можно использовать как небольшой дешевый сервер, например для персонального блога (долгое время этот самый блог крутился на сервере со схожими характеристиками).

А батарея не разбухнет постоянно держать аппарат на зарядке?

Если батарею телефона постоянно держать на зарядке, т.е. заряженной до 4.2 вольт, то через некоторое время она раздуется и будет ни на что не пригодна. Вдумчивая раскурка исходных кодов с применением зеленого чая показала, что это значение захардкожено в драйвере PMIC. А значит его можно отредактировать и выставить, например, в значение 3.7-3.8 вольт, что позволит батарее месяцами находиться на зарядке, и при этом в случае сбоя питания этого хватит чтобы успеть корректно завершить работу. Пока этот batteryhack сделан только для UMI-X2, Iocean-X8 на очереди.

В каком все состоянии?

Пока проект находится в зачаточной стадии (т.е. собирается на моей машине, результат вполне сносно работает). Я добавил базовую поддержку трубок UMI-X2 (MT6589, 4 ядра) и iOcean X8 (MT6592, 8 ядер). Базовая поддержка телефонов на этих чипсетах должна быть сравнительно простой. Если хотите помочь и портировать это безобразие на свою трубку – милости просим на github

В следующих заметках я постараюсь рассказать про то, как портировать MediaDeb на другие устройства на базе чипов mtk.

Источник:

https://ncrmnt.org/2017/08/04/mediadeb-debian-%D0%B4%D0%BB%D1%8F-%D0%BA%D0%B8%D1%82%D0%B0%D1%84%D0%BE%D0%BD%D0%BE%D0%B2-%D1%87%D0%B8%D0%BF%D0%B0%D1%85-mediatek/?lang=ru

Фото: Дарья Григоревская

Яндекс.Метрика