Mycloud home. Установка ENTWARE, Busybox, SSH, FTP, MQTT и NetData

Пользоваться Mycloud home из коробки невозможно, всвязи с нехваткой стандартного функционала.

(Внимание. Гарантия на данную машинку сразу отпадает).

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

Что будет нужно: 1. Терпение, Отвертка, Компьютер с ubuntu или livecd. Если у вас ноут, то +hdd usb адаптер, +скачать adb.

Оригинал: https://community.wd.com/t/install-entware-on-wd-my-cloud-home-ssh-access-nfs-server-opkg-install-packages/228591 Если чтото не получается, подглядываем там.

  1. Разбираем и подключаем hdd к Ubuntu
20180908_131310

2. Подключаем к Ubuntu, и открываем терминал. Вводим lsblk и ищем диск с /system .

disk_admsysfile02

3. Редактируем файл sudo nano /dev/block/sataa19/system/build.prop

4. Меняем значение ro.debuggable=1

5. Добавляем persist.sys.usb.config=adb Сохраняем и закрываем (ctrl+X , Y, Enter )

6. На диске Удаляем файл rm /dev/block/sataa18/wd_config/disable_adb и там же создаем пустой файл touch /dev/block/sataa18/wd_config/enable_root

Готово! Теперь собираем всё обратно подключаем к сети.

7. Устанавливаем на пк adb и подключаемся к Mycloud

adb connect 192.168.1.100 (- это должен быть ip адрес Mycloud)

adb root

adb shell

/system/bin/mount -o rw,remount /system

скачать на пк https://busybox.net/downloads/binaries/1.28.1-defconfig-multiarch/busybox-armv7l и закинуть куда нибудь близко

сейчас мы в shell

открываем новый терминал и конектимся с рутом . вводим 

adb connect 192.168.1.100

adb root

и отправляем на Mycloud скаченный файл (не забудь заменить в команде путь файла у тебя на пк) — adb push /Users/user/Documents/busybox /system/bin

возвращаемся в шелл

/system/bin/busybox —install /system/bin

/system/bin/mount -o rw,remount /

mkdir /opt

/system/bin/mount -o ro,remount /

mkdir /data/entware.arm

mount -o bind /data/entware.arm /opt

устанавливаем ssh 

unset LD_LIBRARY_PATH
unset LD_PRELOAD
/opt/bin/opkg install dropbear
/opt/sbin/dropbear -p 22 -a

/system/bin/mount -o ro,remount /system
/system/bin/mount -o ro,remount /

устанавливаем Entware 

wget -O — http://bin.entware.net/armv7sf-k3.2/installer/alternative.sh | sh

/opt/etc/init.d/rc.unslung start — старт Entware

ура.

подключаемся по ssh 

ssh [email protected]

пароль 12345

устанавливаем нано

opkg install nano

устанавливаем ssh и ftp

opkg install openssh-sftp-server

обновляем репозитории opkg update

Добавляем Entware в автозагрузку крона по ssh

/system/bin/mount -o rw,remount /system

nano /system/bin/entware.sh

В этом файле должно быть

#!/system/bin/sh

PIDFILE="/opt/var/run/dropbear.pid"

dropbear_status ()
{
        [ -f $PIDFILE ] && [ -d /proc/`cat $PIDFILE` ]
}


start()
{
        /system/bin/mount -o rw,remount /
        sleep 2
        mkdir /opt
        sleep 2
        /system/bin/mount -o ro,remount /
        sleep 2
        mount -o bind /data/entware.arm /opt
        sleep 2
        /opt/etc/init.d/rc.unslung start
        sleep 2
        
}


test()
{
        unset LD_PRELOAD
        unset LD_LIBRARY_PATH
        sleep 3
        /system/bin/mount -o rw,remount /
        sleep 1
        /system/bin/mkdir /opt
        /system/bin/mount -o ro,remount /
        sleep 3
        /system/bin/mount -o bind /data/entware.arm /opt
        sleep 2
        /opt/etc/init.d/rc.unslung start
        sleep 2
}

stop()
{
        kill `cat $PIDFILE`
}
case "$1" in
        start)
                if dropbear_status
                then
                        echo dropbear already running
                else
                        start
                fi
                ;;
        stop)
                if dropbear_status
                then
                        stop
                else
                        echo dropbear is not running
                fi
                ;;
        status)
                if dropbear_status
                then
                        echo dropbear already running
                else
                        echo dropbear is not running
                fi
                ;;

        restart)
                stop
                sleep 3
                start
                ;;
        *)
                echo "Usage: $0 {start|stop|restart|status}"
                ;;
esac

Сохраняем

chmod 755 /system/bin/entware.sh

меняем крон CRON :

nano /system/etc/cron/root

добавляем в этот файл

# lancement du logiciel entware au démarrage
*/1 * * * * /system/bin/entware.sh start

переводим систему в чтение

/system/bin/mount -o ro,remount /

Готово)

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

opkg update  opkg install netdata  /opt/etc/init.d/S60netdata start

сайт http://192.168.1.100:19999/

Посмотреть список пакетов — что можно еще интересненького загрузить

opkg list

Загружаем сервер MQTT

opkg install mosquitto-ssl

opkg install mosquitto-client-ssl 

sudo nano /opt/etc/mosquitto/mosquitto.conf

Заменяем содержимое файла на:

pid_file /var/run/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/

log_dest topic

log_type error
log_type warning
log_type notice
log_type information

connection_messages true
log_timestamp true

include_dir /etc/mosquitto/conf.d

Сохраняем и создаем нового юзера adduser mosquitto

Задаем пароль

Заходим в nano /opt/etc/mosquitto/conf.d/default.conf

allow_anonymous false
password_file /opt/etc/mosquitto/passwd

Сохраняем)

Запускаем mosquitto -c /opt/etc/mosquitto/conf.d/default.conf

Готово)

Советую перезапустить Mycloud, чтоб проверить автозапуск всего что мы сделали.

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

adb connect 192.168.1.100
adb root
adb shell
/system/bin/mount -o rw,remount /
mkdir /opt
/system/bin/mount -o ro,remount /
mount -o bind /data/entware.arm /opt
/opt/etc/init.d/rc.unslung start

Добавить комментарий

Закрыть меню