http://4pda.ru/forum/index.php?showtopic=467828&st=12140#entry87961189 Устанавливаем DEBIAN на WD My cloud HOME Делаем из бессмысленного мусора полноценный NAS Фирма WD, при всем моем к ней уважении, на это раз создала совершенно идиотское устройство. Персональное домашнее хранилище файлов, пользоваться которым можно только с разрешения фирмы WD, только по ее правилам, и только при наличии активного интернет-подключения. Прямого доступа к файлам нет, все управление - только через WDшный сайт. Даже выключить устройство локально нельзя! Нет кнопки питания, выключение тоже делается через панель управления на сайте. Устройство полностью подконтрольно WD, они могут не спрашивая установить любые обновления и что угодно сделать с моими данными - все возможности для этого уже заложены в прошивку. Возможно, для виндузятников это в порядке вещей, поскольку их любимая ОС ведет себя в точности так же. Но мне, как приверженцу линукса и Open Source, этот подход кажется совершенно диким. Следовательно, настало время сменить ОС устройства на что-нибудь более вменяемое. Разработчики из WD установили на наши устройства Android. Выбор несколько странный, поскольку андроид - не серверная ОС. Впрочем, и процессор RTD1295 - это мультимедийный процессор, предназначенный для всяких Android TV и подобной техники, но уж никак не для серверов. Если бы фирма сделала еще один шаг, и добавила к устройству HDMI-выход, то получилась бы довольно мощная android-приставка к телевизору. Но без видеовыхода андроид нам ни к чему, и я заменил его на полноценный дистрибутив линукса. Выбор пал на Debian Stretch, хороший и проверенный временем дистрибутив. Поскольку процессор у нас 64-битный ARM, то и дистрибутив я использовал для архитектуры AARCH64. Спасибо WDшникам, одну вещь они все же сделали правильно - выложили исходники ядра и загрузчика U-boot. Это избавило меня от необходимости браться за дизассемблер и позволило собрать ядро с нужными параметрами. Для облегчения жизни пользователям, далеким от линукса, я добавил в систему панель веб-управления OpenMediaVault, для настройки сервера через браузер. Система ставится в 3 файловых раздела устройства: SYSTEM_B (20) - корень файловой системы CACHE (21) - /var DATA (22)- /usr Кроме того, заменяется раздел ROOTFS_B (сюда записывается стартовый рамдиск initrd), KERNEL_B (пересобранное ядро), FWTABLE (таблица разделов прошивки с пересчитанными контрольными суммами), CONFIG (параметры загрузчика U_boot). Остальные разделы не изменяются, все данные на разделе файлохранилища DISKVOLUME1 остаются без изменений. Перед записью стартовый скрипт автоматически делает резервные копии всех изменяемых разделов, что позволяет впоследствии безболезненно восстановить родную прошивку, если будет такое странное желание. Для установки системы надо скачать архив с установочными файлами (ссылка - в конце сообщения) и распаковать его на флешку, отформатированную в FAT32. Дополнительное требование к флешке - на ней должна быть таблица разделов MBR, и раздел с установочными файлами должен иметь номер 1. Обычно все флешки так и разбивают, но изредка мне встречались варианты, когда файловая система начинается прямо с блока 0, без всяких MBR. Кроме того, при распаковке архива на флешку необходимо сохранить структуру каталогов, как в архиве, а не просто свалить все файлы в корень. Далее вставляем флешку в выключенный NAS, зажимаем кнопку config, и включаем питание. После того как светодиод начнет равномерно мигать, кнопку можно отпустить - загрузка с флешки уже началась. Система устанавливается полностью автоматически, процесс занимает 3-5 минут в зависимости от скорости чтения конкретной флешки. После записи всех разделов NAS автоматически перезагрузится, и запустится свежеустановленая ОС. При первом запуске адрес в сети она получает автоматически через dhcp, в дальнейшем этот адрес можно поменять на статический. В системе уже определены 2 пользователя/пароля: root/root - для доступа через ssh admin/admin - для входа в вебинтерфейс. Если ваше устройство находится в небезопасной сети, то пароли лучше поменять. Еще лучше - добавить обычного пользователя, внести его в группу ssh и входить им по ssh, а доступ по ssh рутом запретить. Кроме ssh, в системе имеется возможность доступа к файлам по smb (windows network), ftp и nfs (все это настраивается через ту же панель управления). Для примера в системе уже настроен smb-доступ к каталогу /data файлохранилища для всех пользователей без пароля. Поскольку у нас полноценный дебиан, со всеми официальными репозиториями, то при желании можно возложть на NAS дополнительные серверные функции, например поднять сервер печати, воткнув принтер в usb-порт, или даже сделать интернет-роутер, воткнув в него USB-модем. Тут все определяется только вашей фантазией. Резервные копии разделов установочный скрипт записывает в раздел 24 (DISKVOLUME1 - файлохранилище) в каталог oldsystem-backup. Если они вам нужны, то лучше перепишите их куда-нибудь вне NAS для лучшей сохранности. UPD: Обнаружилась небольшая бага в моем установщике. Дело в том, что я при установке перезаписываю только те разделы, которые изменяю. Разделы FDT и AFW я не трогаю, и, как оказалось, зря. При обновлении официальной прошивки эти разделы могут измениться, и контрольные суммы в моем варианте fwtable перестанут соответствовать реальным разделам. Таким образом, установка была возможна только поверх той версии официальной прошивки, что и у меня. В остальных случаях устройство перманентно переходило в режим USB-загрузки - частое мигание светодиодом и больше никакой активности. Теперь я это исправил, и ставить мой дебиан можно поверх любой официальной прошивки. Кто скачал файл - перескачайте. Если не хотите скачивать все - скачайте только файл rescue.root.sata.cpio.gz_pad.img из архива - яндексдиск это умеет. Остальные файлы не менялись.