Jump to content
XPEnology Community

Установка DSM 7.1.1 на Proxmox


Joyz

Recommended Posts

Загрузчик TinyCore RedPill Loader (TCRP Friend)

 

В связи с выходом DSM 7.1.1, новой версии загрузчика Tinycore-redpill и Proxmox 7.2 решил немного исправить и дополнить инструкцию по установке.

Для установки в полуавтоматическом режиме будем использовать Tinycore RedPill Loader от pocopico

 

Создание виртуальной машины

Для создания виртуальной машины я использовал шаблон скрипта от haydibe и использовал последний на данный момент stable имидж tinycore-redpill.v0.9.2.9

 

Под себя в скрипте можете исправить id для виртуальной машины, которую будете создавать и ресурсы, которые хотите выделить для NAS (cores, memory, name и в двух местах размер диска sata0). Диск делайте не меньше 25GB.

 

Обязательно проверьте в GitHub какая версия имиджа актуальна на данный момент и исправьте это в скрипте.

 

2123624513_pic-0001011129.thumb.jpg.8670ccf5024eebb23a44692bf3283453.jpg

 

 

# set vm id
id=900

# create image directory, download and uncomporess
mkdir -p /var/lib/vz/images/${id}
curl --location https://github.com/pocopico/tinycore-redpill/releases/download/v0.9.2.9/tinycore-redpill.v0.9.2.9.img.gz --output /var/lib/vz/images/${id}/tinycore-redpill.img.gz
gzip --decompress /var/lib/vz/images/${id}/tinycore-redpill.img.gz --keep

# create disk for sata0
pvesm alloc local-lvm ${id} vm-${id}-disk-0 50G

# create vm
qm create ${id} \
  --args "-drive 'if=none,id=synoboot,format=raw,file=/var/lib/vz/images/${id}/tinycore-redpill.img' -device 'qemu-xhci,addr=0x18' -device 'usb-storage,drive=synoboot,bootindex=1'" \
  --cores 2 \
  --cpu host \
  --machine q35 \
  --memory 2048 \
  --name DSM7 \
  --net0 virtio,bridge=vmbr0 \
  --numa 0 \
  --onboot 0 \
  --ostype l26 \
  --scsihw virtio-scsi-pci \
  --sata0 local-lvm:vm-${id}-disk-0,discard=on,size=50G,ssd=1 \
  --sockets 1 \
  --serial0 socket \
  --serial1 socket \
  --tablet 1

 

Обратите внимание, что в зависимости от платформы вашего сервера с proxmox может понадобиться в конфиге изменить

--cpu host \

на

  --cpu kvm64 \

 

 

В Proxmox

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

 

1182600947_pic_0002012816.thumb.jpg.d29d9bf6945d9ecb2024c22913a30d1d.jpg

 

После создания виртуальной машины запускаем ее и дожидаемся загрузки.

 

758327078_pic_0003013016.thumb.jpg.18d04b5be3797086a297ec3ec388886c.jpg

 

Все дальнейшие действия можно делать в веб интерфейсе консоли виртуальной машины, но это будет не очень удобно и довольно криво. Я использовал Putty и WinSCP.

 

В виртуальной машине смотрим IP
У меня это 192.168.50.32

 

 

Putty

Подключаемся к виртуальной машине

Login: tc
Password: P@ssw0rd

1397381951_pic_0004013902.jpg.bbe5f26caafaa69ed68a7e7aa11ee14f.jpg

 

Последовательно выполняем несколько команд

 

./rploader.sh update now

 

879293655_pic_0005014054.thumb.jpg.31194030a852d41a76704fe0c94a40e4.jpg

 

./rploader.sh fullupgrade now

 

 2068770912_pic_0006014207.jpg.702c029c850faa636c35933a01821476.jpg

 

./rploader.sh satamap now

 

298557109_pic_0007014321.thumb.jpg.4374e5d35d55a509e6239ae426095aaf.jpg

 

./rploader.sh identifyusb now

 

1005448465_pic_0008014614.thumb.jpg.64d98c71643c676e2dc1c0ad27de58b0.jpg

 

 

Определитесь какую платформу NAS будете использовать

 

326099083_pic_0010034859.thumb.jpg.979f15b56dced2f930283cdbe8b091c0.jpg

Более подробно можете ознакомиться с рекомендации по выбору из поста flyride

 

Далее нужно сгенерировать серийный номер и mac под нужную платформу. 

Если вы используете свою связку реальных SN+MAC для работы QuickConnect, то пропускаем этот пункт.

 

Например, для DS918+ указываем:

./rploader.sh serialgen DS918+

 

665234165_pic_0009014657.thumb.jpg.238926fbbd920a9a04ccd0d645f42615.jpg

 

*DS918+/DS920+/ DS3622x+/DS3617xs/DS3615xs /DS1621+/DV3221

 

 

Переходим в WinSCP

Подключаемся к виртуальной машине

Нам нужно будет проверить и возможно отредактировать файл user_config.json

 

128276530_pic_0013015154.thumb.jpg.d4b84c00999d48d50726ee7ad8b6aa95.jpg

 

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

Если используете свою связку SN+MAC, то исправляем нужные пункты.

 

  "extra_cmdline": {
    "pid": "0x0001",
    "vid": "0x46f4",
    "sn": "1780PDN020377",
    "mac1": "001132CDFA0C",
    "netif_num": "1",
    "SataPortMap": "16",
    "DiskIdxMap": "1000"

 

Возвращаемся в Putty

Теперь надо добавить драйвера сетевой карты VirtIO или других сетевых карт, которые вы используете в Proxmox.

 

В зависимости от выбранной вами платформы NAS и версии DSM выполняем команды:

 

драйвер VirtIO

./rploader.sh ext ds918p-7.1.1-42962 add https://raw.githubusercontent.com/pocopico/rp-ext/master/v9fs/rpext-index.json

драйвер Intel E1000

./rploader.sh ext ds918p-7.1.1-42962 add https://raw.githubusercontent.com/pocopico/rp-ext/master/e1000/rpext-index.json

драйвер Realtek RTL8139

./rploader.sh ext ds918p-7.1.1-42962 add https://raw.githubusercontent.com/pocopico/rp-ext/master/8139too/rpext-index.json

 

1182525693_pic_0011014758.thumb.jpg.ea0231838352da378f9115baa324aecf.jpg

 

Так же иногда требуется добавить драйвер ACPI

./rploader.sh ext ds918p-7.1.1-42962 add https://raw.githubusercontent.com/pocopico/rp-ext/master/redpill-acpid/rpext-index.json

 

823477047_pic_0012014912.thumb.jpg.6d8489e289b67600e00bbc5a66ef9d12.jpg

 

*можно добавить все драйвера по очереди.

**драйвера для других устройств можно найти тут

 

Делаем бекап.

./rploader.sh backup

 

1428512570_pic_0014015624.thumb.jpg.e7cd74a3123dea7626fa49d6d861940c.jpg

 

 

В зависимости от выбранной ранее платформы выполняем сборку загрузчика:

 

для DS918+

./rploader.sh build ds918p-7.1.1-42962 withfriend

для DS3622xs+

./rploader.sh build ds3622xsp-7.1.1-42962 withfriend

для DS920+

./ rploader.sh build ds920p-7.1.1-42962 withfriend

для DS1621+

./rploader.sh build ds1621p-7.1.1-42962 withfriend

для DS3617xs

./rploader.sh build ds3617xs-7.1.1-42962 withfriend

 для DS3615xs

./rploader.sh build ds3615xs-7.1.1-42962 withfriend

 для DVA3221

./rploader.sh build dva3221-7.1.1-42962 withfriend

 

605662725_pic_0015015804.thumb.jpg.4d2d0023bda3fae9a04165389ccf0f81.jpg

 

Перегружаем виртуальную машину

sudo reboot -f

 

 

Загрузка

Обратите внимание, что сейчас при загрузке виртуальной машины надо выбирать загрузку с Tiny Core Friend или RedPill DS918+ 7.1.1-42962 (USB, Verbose)

 

Tiny Core Friend автоматически обрабатывает обновления DSM. Если вы будете выполнять обновление из графического интерфейса DSM, обновление будет обнаружено и автоматически исправлено TCRP Friend. Поэтому рекомендуется использовать TCRP Friend.

 

1410711757_pic_0016015924.thumb.jpg.98c3d21b459a1eedec2d02b09305c5f7.jpg

 

Экран нового загрузчика отличается от стандартной версии большей информативностью. 

 

1394696365_pic_0017030544.thumb.jpg.5a736074c53463282fda64729346c334.jpg

 

Ждем пару минут и в браузере открываем http://find.synology.com, используем Synology Assistant или сразу заходим по IP показанный на экране загрузки.

 

1570005134_pic_0018030511.thumb.jpg.2fa8dbdc31f5f87314022d0a3ed1c535.jpg

 

Скачиваем с сайта Synology образ DSM_DS918+_42962.pat или другой под нужную вам платформу.

Указываем загруженный файл для продолжения установки.

 

1339503009_pic_0019021156.thumb.jpg.1a42177d80c2856a1278c502e6edeb48.jpg

 

244583336_pic_0020021300.thumb.jpg.c3c3c0722a0dc4bf7b186901abf79daa.jpg

 

После полной установки новый NAS перезагрузиться и порадует окном приветствия.

 

2019698404_pic_0021021509.thumb.jpg.7f4c15d8a79d330fb2cd349aa18b4faf.jpg

 

 

 

 

Обновление DSM

(если нет Tiny Core Friend)

 

При обновлении NAS (например, на 7.1.1-42962 Update 2) может перестать нормально загружаться и начнет предлагать восстановиться

 

731668914_pic_0022021917.thumb.jpg.82e823af0b3cc6e193b8f20f57a8c240.jpg

 

Чтобы это исправить необходимо загрузиться в Tiny Core Image Build

 

1723087177_pic_0023024320.thumb.jpg.05b8228a23fd6dcd3dcb77e040de06ee.jpg

 

В Putty последовательно выполняем несколько команд и на все соглашаемся.

 

./rploader.sh clean new
./rploader.sh update new
./rploader.sh fullupgrade new
./rploader.sh postupdate ds918p-7.1.1-42962

 

Делаем очередной backup и перегружаемся.

 

./rploader.sh backup now
sudo reboot -f

 

Выбираем опять загрузку с USB

 

799675512_pic_0024024346.thumb.jpg.b7b4a4aca3022e4e8fd0776c2dcdee1e.jpg

 

NAS обновился и опять нормально загружается

 

pic_0025 024508.jpg

 

pic_0026 024552.jpg

 

Edited by Joyz
  • Like 3
Link to comment
Share on other sites

За иструкцию спасибо. Для DS3622x+ всё сработало с 1-го раза :)

Есть пару вопросов:

1. В user_config.json есть строка с указанием модели (там изначально указано как DS3622x+), я пытался запустить на образе DV3221 и заметил что эта строка не меняется, пробовал её поменять руками но машина так и не стартанула. (Не уверен что именно в это причина, но DV3221 так и не смог запустить)

2. Касательно самого tinycore-redpill.img, ввиду того что при создании бэкапа в PVE сам .img не бэкапится назрел вопрос, есть ли возможность "правильного" преобразования его в raw диск и прикреплению как sata и заработает ли оно?

Edited by Naigo
Link to comment
Share on other sites

6 часов назад, Naigo сказал:

Есть пару вопросов:

1. Этот вопрос лучше задать pocopico как разработчику этого имиджа. Но когда я менял эту строку у меня иногда криво собирался загрузчик.

2. По идее в CLI сконвертировать в raw на lvm не проблема, но я не пробовал. Вообще оригинальные Synology грузятся со встроенного USB и если сконвертировать и подключить как SATA диск могут быть проблемы.

Edited by Joyz
Link to comment
Share on other sites

При попытке создания машины скриптом получаю в конце ошибки:

unable to parse volume filename 'vm-103-disk-0'
unable to parse directory volume name 'vm-103-disk-0'

ИД не занят.

Делать всё руками?

 

Link to comment
Share on other sites

Ещё один нюанс - эта инструкция не сработает для инфраструктуры со статическими айпи. Дсмка просто не получит айпи и даже десктопный ассистент её не увидит. Просьба дополнить инструкцию с учетом данного нюанса.

Link to comment
Share on other sites

6 часов назад, surgeon2 сказал:

При попытке создания машины скриптом получаю в конце ошибки:

А пробовали указать другой ID ?

 

3 часа назад, surgeon2 сказал:

Ещё один нюанс - эта инструкция не сработает для инфраструктуры со статическими айпи. Дсмка просто не получит айпи и даже десктопный ассистент её не увидит. Просьба дополнить инструкцию с учетом данного нюанса.

Не понял, что именно вы хотите, чтобы было доработано в инструкции? Как настраивать роутер и сетевую инфраструктуру?

 

 

Link to comment
Share on other sites

Дело не в ID - там идет попытка создать диск для тачки, которой нет. Решается выпиливанием соотв. строки из скрипта. И добавлением диска руками через веб-морду.

 

Эта штука не работает, если нет DHCP. Пишет при старте - Could not get IP:

2090054763_.png.ebf97f696ee2c8a4e28ab11b8d4421af.png

 

Однако, в конфиге есть строки:

"ipsettings": {
    "ipset": "",
    "ipaddr": "",
    "ipgw": "",
    "ipdns": "",
    "ipproxy": ""

И вот они, я думаю, как раз и рассчитаны на использование в подобных ситуациях, т к данный лоадер не умеет назначать себе ad-hoc адрес, как это умел лоадер от Джуна. Однако, не ясно, работает ли эта секция вообще и какой там синтаксис.

Edited by surgeon2
Link to comment
Share on other sites

1 час назад, surgeon2 сказал:

Дело не в ID - там идет попытка создать диск для тачки, которой нет. Решается выпиливанием соотв. строки из скрипта. И добавлением диска руками через веб-морду.

Зависит от версии Proxmox.

Вообще создание диска (pvesm alloc local-lvm ${id} vm-${id}-disk-0 50G) лучше указывать в конце скрипта как это было у меня изначально указанно в первом варианте для Proxmox 7.1. 

Но в Proxmox 7.2 такой порядок выдаст ошибку (unable to create VM 900 - no such logical volume pve/vm-900-disk-0), а данный вариант скрипта тут отрабатывается без проблем.

 

Так что если у вас старая версия Proxmox, то просто в скрипте переставьте местами секцию создания диска и секцию создания VM, после этого скрипт отработает нормально.

 

1 час назад, surgeon2 сказал:

И вот они, я думаю, как раз и рассчитаны на использование в подобных ситуациях, т к данный лоадер не умеет назначать себе ad-hoc адрес, как это умел лоадер от Джуна. Однако, не ясно, работает ли эта секция вообще и какой там синтаксис.

Подавляющее большинство пользователей все же использует DHCP. А указанные вами пункты у pocopico в конфиге появились совсем недавно, и я их работу не проверял.

Можете поэкспериментировать и, если заработает потом отпишитесь тут.

Так же можете попробовать собрать загрузчик, например на ds918p-7.0.1-42218-JUN

Edited by Joyz
Link to comment
Share on other sites

Не видит он эту секцию. От слова совсем.

И далеко не все юзают дхцп для серверного диапазона. Так что огромная просьба добавить в инструкцию кейс для статического айпи.

3 минуты назад, Joyz сказал:

7.0.1

Он мертвый. Обновления на нем не работают. Да и маркет там пашет через пень-колоду.

Edited by surgeon2
Link to comment
Share on other sites

Поставил на сервак isc-dhcp сервер.

сам тиникор ходит в инет отлично, доступен по айпи.

Дсмка получила айпи, проверила что "дружок" последней версии, но на её айпи достучаться нельзя...

1447489599_.png.7af123f8cb693915de9b0c9f22de898d.png

 

P.S.: проц шкалит в 100% одно ядро. Походу все эти балалайки попросту нерабочие...

Edited by surgeon2
Link to comment
Share on other sites

UPD2:

Вот в чем был прикол: Лоадер меняет мак и делает таким образом второй айпи, но тачка доступна по первому - лоадер не умеет перекрыть мак самого адаптера.

Решение:

1) Маки "уравнять" - поставить сгенеренный мак в поле мака сетевого адаптера виртуалки

2) (возможно только мой случай) - все равно после установки сделать на DSM'ке IP статическим, но таким же, как назначается DHCP

Edited by surgeon2
Link to comment
Share on other sites

19 часов назад, surgeon2 сказал:

Походу все эти балалайки попросту нерабочие...

"ipsettings" : {
"ipset": "static",
"ipaddr": "192.168.1.98/24",
"ipgw": "192.168.1.1",
"ipdns": "192.168.1.1"
},

Лоадер все же отрабатывает IP из конфига. Но при наличии DHCP автоматически выданный IP у лоадера будут все же в приоритете.  И естественно после установки DSM настройки IP уже берутся из DSM 

Edited by Joyz
Link to comment
Share on other sites

О, наконец-то нужный синтаксис, благодарю. Но как я написал выше - уже разрулил с дхцп. В любом случае самое главное там - это синхронность в плане маков (и айпишников, если есть активный дхцп, но нужно сделать статику и/или вывести за пределы дхцп-зоны).

Link to comment
Share on other sites

Добрый день, всем. 

Делаю всё по инструкции , но в моменте загрузки после сборки загрузчика пропадает пинг до виртуалки и на этом всё.

Программа поиска не находит, на дхсп новых адресов нет. В чем может быть проблема? 

Пинг пропадает в момент загрузки вот этой строчки

Screenshot_1.png

Edited by baroflex
Link to comment
Share on other sites

11 час назад, baroflex сказал:

В чем может быть проблема? 

IP который указан как VM получает и пробовали на него заходить?

Какая сетевая карта эмулируется и драйвера для нее добавляли?

Вообще если вы все делали по инструкции и VM создавали скриптом, то загрузка у вас должна идти с usb, а не с ata

 

 

Edited by Joyz
Link to comment
Share on other sites

идентичный индикатор ошибки, пропинговался 6 раз после запуска и исчез, не найден - Syno Assistant. Решение, найденное в WEB, помогло мне и запустило 920+ (7.1.1)

Проблема 2: Synology не видится в локальной сети после создания загрузчика
Решение:

Возвращаемся к Работа с загрузчиком

Вместо команды ./rploader.sh serialgen DS920+  используем ./rploader.sh serialgen DS920+ now

Дальше все согласно мануалу

./rploader.sh build geminilake-7.1.0-42661

./rploader.sh build ds920p-7.1.1-42962

not make #./rploader.sh backup

exitcheck.sh reboot

Link to comment
Share on other sites

32 minutes ago, zmei_belora said:

here is such an error during installation ( ./rploader.sh build........... ), tell me what is the problem?

264038953_(3).thumb.jpg.86de63466e5ee58486905fd941e003d3.jpg

 

привет, в моем последнем обновлении была опечатка. Я исправил это. Обновите с помощью обновления ./rploader.sh и повторите попытку.

  • Like 2
Link to comment
Share on other sites

всё по инструкции. после выполнения sudo reboot -f , при запуске "Loading kexec...", ip адрес появляется на пару секунд потом ping не проходит.(пробовал все три типа сетевых карт, результата нет )

809241251_(3).thumb.jpg.0e74c0da4804d842852b9c5be92042c7.jpg

Edited by zmei_belora
Link to comment
Share on other sites

6 часов назад, zmei_belora сказал:

всё по инструкции. после выполнения sudo reboot -f , при запуске "Loading kexec...", ip адрес появляется на пару секунд потом ping не проходит.(пробовал все три типа сетевых карт, результата нет )

809241251_(3).thumb.jpg.0e74c0da4804d842852b9c5be92042c7.jpg

всё получилось на DS3622x+ на DS918+ не вышло. 

Link to comment
Share on other sites

В 14.11.2022 в 14:08, baroflex сказал:

Добрый день, всем. 

Делаю всё по инструкции , но в моменте загрузки после сборки загрузчика пропадает пинг до виртуалки и на этом всё.

Программа поиска не находит, на дхсп новых адресов нет. В чем может быть проблема? 

Пинг пропадает в момент загрузки вот этой строчки

Screenshot_1.png

Добрый день.

Несколько раз переустанавливал 918+ и 3622xs+ все было именно так как и у вас. НО случайно заметил что Home Assistant нашел в сети Synology и как оказалось на совсем другом ip адресе, не на том что указан в терминале. 

Edited by _maxx_
Link to comment
Share on other sites

3622xs+ установил по этой же инструкции на голое железа с флешке. Все завелось сразу без каких либо проблем. Но IP тоже не соответствовал тому что показывает в терминале.

Link to comment
Share on other sites

12 часа назад, Joyz сказал:

А у вас в конфиге заданы параметры для ipsettings ?

Нет, все по дефолту. И в виртуалке и на железе. Я пробовал 1 раз при очередной безуспешной установке 918+ прописать параметры сети, но это не помогло. Может быть тоже надо было поискать другие ip адреса. Увидел на форуме что без проблем у форумчан ставится 3622xs+, попробовал и думал что тоже ничего не вышло, пока случайно не увидел что ip адреса не совпадают. Нужный мне ip адрес прописал в роутере позже, привязав к маку.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...