Joyz Posted October 25, 2022 #1 Posted October 25, 2022 (edited) Загрузчик 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 какая версия имиджа актуальна на данный момент и исправьте это в скрипте. # 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 В консоли вставляем и запускаем созданный скрипт. После создания виртуальной машины запускаем ее и дожидаемся загрузки. Все дальнейшие действия можно делать в веб интерфейсе консоли виртуальной машины, но это будет не очень удобно и довольно криво. Я использовал Putty и WinSCP. В виртуальной машине смотрим IP У меня это 192.168.50.32 Putty Подключаемся к виртуальной машине Login: tc Password: P@ssw0rd Последовательно выполняем несколько команд ./rploader.sh update now ./rploader.sh fullupgrade now ./rploader.sh satamap now ./rploader.sh identifyusb now Определитесь какую платформу NAS будете использовать Более подробно можете ознакомиться с рекомендации по выбору из поста flyride Далее нужно сгенерировать серийный номер и mac под нужную платформу. Если вы используете свою связку реальных SN+MAC для работы QuickConnect, то пропускаем этот пункт. Например, для DS918+ указываем: ./rploader.sh serialgen DS918+ *DS918+/DS920+/ DS3622x+/DS3617xs/DS3615xs /DS1621+/DV3221 Переходим в WinSCP Подключаемся к виртуальной машине Нам нужно будет проверить и возможно отредактировать файл user_config.json Проверяем, что все пункты соответствуют тому, что были сгенерированы ранее. Иногда почему-то скрипт не с первого раза записывает полученные данные в файл. Если используете свою связку 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 Так же иногда требуется добавить драйвер ACPI ./rploader.sh ext ds918p-7.1.1-42962 add https://raw.githubusercontent.com/pocopico/rp-ext/master/redpill-acpid/rpext-index.json *можно добавить все драйвера по очереди. **драйвера для других устройств можно найти тут Делаем бекап. ./rploader.sh backup В зависимости от выбранной ранее платформы выполняем сборку загрузчика: для 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 Перегружаем виртуальную машину sudo reboot -f Загрузка Обратите внимание, что сейчас при загрузке виртуальной машины надо выбирать загрузку с Tiny Core Friend или RedPill DS918+ 7.1.1-42962 (USB, Verbose) Tiny Core Friend автоматически обрабатывает обновления DSM. Если вы будете выполнять обновление из графического интерфейса DSM, обновление будет обнаружено и автоматически исправлено TCRP Friend. Поэтому рекомендуется использовать TCRP Friend. Экран нового загрузчика отличается от стандартной версии большей информативностью. Ждем пару минут и в браузере открываем http://find.synology.com, используем Synology Assistant или сразу заходим по IP показанный на экране загрузки. Скачиваем с сайта Synology образ DSM_DS918+_42962.pat или другой под нужную вам платформу. Указываем загруженный файл для продолжения установки. После полной установки новый NAS перезагрузиться и порадует окном приветствия. Обновление DSM (если нет Tiny Core Friend) При обновлении NAS (например, на 7.1.1-42962 Update 2) может перестать нормально загружаться и начнет предлагать восстановиться Чтобы это исправить необходимо загрузиться в Tiny Core Image Build В 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 NAS обновился и опять нормально загружается Edited October 25, 2022 by Joyz 3 Quote
Naigo Posted October 26, 2022 #2 Posted October 26, 2022 (edited) За иструкцию спасибо. Для DS3622x+ всё сработало с 1-го раза Есть пару вопросов: 1. В user_config.json есть строка с указанием модели (там изначально указано как DS3622x+), я пытался запустить на образе DV3221 и заметил что эта строка не меняется, пробовал её поменять руками но машина так и не стартанула. (Не уверен что именно в это причина, но DV3221 так и не смог запустить) 2. Касательно самого tinycore-redpill.img, ввиду того что при создании бэкапа в PVE сам .img не бэкапится назрел вопрос, есть ли возможность "правильного" преобразования его в raw диск и прикреплению как sata и заработает ли оно? Edited October 26, 2022 by Naigo Quote
Joyz Posted October 26, 2022 Author #3 Posted October 26, 2022 (edited) 6 часов назад, Naigo сказал: Есть пару вопросов: 1. Этот вопрос лучше задать pocopico как разработчику этого имиджа. Но когда я менял эту строку у меня иногда криво собирался загрузчик. 2. По идее в CLI сконвертировать в raw на lvm не проблема, но я не пробовал. Вообще оригинальные Synology грузятся со встроенного USB и если сконвертировать и подключить как SATA диск могут быть проблемы. Edited October 26, 2022 by Joyz Quote
surgeon2 Posted October 28, 2022 #4 Posted October 28, 2022 При попытке создания машины скриптом получаю в конце ошибки: unable to parse volume filename 'vm-103-disk-0' unable to parse directory volume name 'vm-103-disk-0' ИД не занят. Делать всё руками? Quote
surgeon2 Posted October 28, 2022 #5 Posted October 28, 2022 Ещё один нюанс - эта инструкция не сработает для инфраструктуры со статическими айпи. Дсмка просто не получит айпи и даже десктопный ассистент её не увидит. Просьба дополнить инструкцию с учетом данного нюанса. Quote
Joyz Posted October 28, 2022 Author #6 Posted October 28, 2022 6 часов назад, surgeon2 сказал: При попытке создания машины скриптом получаю в конце ошибки: А пробовали указать другой ID ? 3 часа назад, surgeon2 сказал: Ещё один нюанс - эта инструкция не сработает для инфраструктуры со статическими айпи. Дсмка просто не получит айпи и даже десктопный ассистент её не увидит. Просьба дополнить инструкцию с учетом данного нюанса. Не понял, что именно вы хотите, чтобы было доработано в инструкции? Как настраивать роутер и сетевую инфраструктуру? Quote
surgeon2 Posted October 28, 2022 #7 Posted October 28, 2022 (edited) Дело не в ID - там идет попытка создать диск для тачки, которой нет. Решается выпиливанием соотв. строки из скрипта. И добавлением диска руками через веб-морду. Эта штука не работает, если нет DHCP. Пишет при старте - Could not get IP: Однако, в конфиге есть строки: "ipsettings": { "ipset": "", "ipaddr": "", "ipgw": "", "ipdns": "", "ipproxy": "" И вот они, я думаю, как раз и рассчитаны на использование в подобных ситуациях, т к данный лоадер не умеет назначать себе ad-hoc адрес, как это умел лоадер от Джуна. Однако, не ясно, работает ли эта секция вообще и какой там синтаксис. Edited October 28, 2022 by surgeon2 Quote
Joyz Posted October 28, 2022 Author #8 Posted October 28, 2022 (edited) 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 October 28, 2022 by Joyz Quote
surgeon2 Posted October 28, 2022 #9 Posted October 28, 2022 (edited) Не видит он эту секцию. От слова совсем. И далеко не все юзают дхцп для серверного диапазона. Так что огромная просьба добавить в инструкцию кейс для статического айпи. 3 минуты назад, Joyz сказал: 7.0.1 Он мертвый. Обновления на нем не работают. Да и маркет там пашет через пень-колоду. Edited October 28, 2022 by surgeon2 Quote
surgeon2 Posted October 29, 2022 #10 Posted October 29, 2022 (edited) Поставил на сервак isc-dhcp сервер. сам тиникор ходит в инет отлично, доступен по айпи. Дсмка получила айпи, проверила что "дружок" последней версии, но на её айпи достучаться нельзя... P.S.: проц шкалит в 100% одно ядро. Походу все эти балалайки попросту нерабочие... Edited October 29, 2022 by surgeon2 Quote
surgeon2 Posted October 29, 2022 #11 Posted October 29, 2022 (edited) UPD2: Вот в чем был прикол: Лоадер меняет мак и делает таким образом второй айпи, но тачка доступна по первому - лоадер не умеет перекрыть мак самого адаптера. Решение: 1) Маки "уравнять" - поставить сгенеренный мак в поле мака сетевого адаптера виртуалки 2) (возможно только мой случай) - все равно после установки сделать на DSM'ке IP статическим, но таким же, как назначается DHCP Edited October 29, 2022 by surgeon2 Quote
Joyz Posted October 29, 2022 Author #12 Posted October 29, 2022 (edited) 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 October 29, 2022 by Joyz Quote
surgeon2 Posted October 31, 2022 #13 Posted October 31, 2022 О, наконец-то нужный синтаксис, благодарю. Но как я написал выше - уже разрулил с дхцп. В любом случае самое главное там - это синхронность в плане маков (и айпишников, если есть активный дхцп, но нужно сделать статику и/или вывести за пределы дхцп-зоны). Quote
Benson Posted November 7, 2022 #14 Posted November 7, 2022 when i installed ds3622sx+ and checking the console screen , i found the below failed , Is this normal or something wrong ? Quote
baroflex Posted November 14, 2022 #15 Posted November 14, 2022 (edited) Добрый день, всем. Делаю всё по инструкции , но в моменте загрузки после сборки загрузчика пропадает пинг до виртуалки и на этом всё. Программа поиска не находит, на дхсп новых адресов нет. В чем может быть проблема? Пинг пропадает в момент загрузки вот этой строчки Edited November 14, 2022 by baroflex Quote
Joyz Posted November 14, 2022 Author #16 Posted November 14, 2022 (edited) 11 час назад, baroflex сказал: В чем может быть проблема? IP который указан как VM получает и пробовали на него заходить? Какая сетевая карта эмулируется и драйвера для нее добавляли? Вообще если вы все делали по инструкции и VM создавали скриптом, то загрузка у вас должна идти с usb, а не с ata Edited November 14, 2022 by Joyz Quote
kalmars Posted November 14, 2022 #17 Posted November 14, 2022 идентичный индикатор ошибки, пропинговался 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 Quote
zmei_belora Posted November 15, 2022 #18 Posted November 15, 2022 (edited) вот такая ошибка при установке (./rploader.sh build...........), подскажите в чём проблема? Edited November 15, 2022 by zmei_belora Quote
pocopico Posted November 15, 2022 #19 Posted November 15, 2022 32 minutes ago, zmei_belora said: here is such an error during installation ( ./rploader.sh build........... ), tell me what is the problem? привет, в моем последнем обновлении была опечатка. Я исправил это. Обновите с помощью обновления ./rploader.sh и повторите попытку. 2 Quote
zmei_belora Posted November 15, 2022 #20 Posted November 15, 2022 (edited) всё по инструкции. после выполнения sudo reboot -f , при запуске "Loading kexec...", ip адрес появляется на пару секунд потом ping не проходит.(пробовал все три типа сетевых карт, результата нет ) Edited November 15, 2022 by zmei_belora Quote
zmei_belora Posted November 15, 2022 #21 Posted November 15, 2022 6 часов назад, zmei_belora сказал: всё по инструкции. после выполнения sudo reboot -f , при запуске "Loading kexec...", ip адрес появляется на пару секунд потом ping не проходит.(пробовал все три типа сетевых карт, результата нет ) всё получилось на DS3622x+ на DS918+ не вышло. Quote
_maxx_ Posted November 16, 2022 #22 Posted November 16, 2022 (edited) В 14.11.2022 в 14:08, baroflex сказал: Добрый день, всем. Делаю всё по инструкции , но в моменте загрузки после сборки загрузчика пропадает пинг до виртуалки и на этом всё. Программа поиска не находит, на дхсп новых адресов нет. В чем может быть проблема? Пинг пропадает в момент загрузки вот этой строчки Добрый день. Несколько раз переустанавливал 918+ и 3622xs+ все было именно так как и у вас. НО случайно заметил что Home Assistant нашел в сети Synology и как оказалось на совсем другом ip адресе, не на том что указан в терминале. Edited November 16, 2022 by _maxx_ Quote
_maxx_ Posted November 17, 2022 #23 Posted November 17, 2022 3622xs+ установил по этой же инструкции на голое железа с флешке. Все завелось сразу без каких либо проблем. Но IP тоже не соответствовал тому что показывает в терминале. Quote
Joyz Posted November 17, 2022 Author #24 Posted November 17, 2022 3 часа назад, _maxx_ сказал: Но IP тоже не соответствовал тому что показывает в терминале. А у вас в конфиге заданы параметры для ipsettings ? Quote
_maxx_ Posted November 18, 2022 #25 Posted November 18, 2022 12 часа назад, Joyz сказал: А у вас в конфиге заданы параметры для ipsettings ? Нет, все по дефолту. И в виртуалке и на железе. Я пробовал 1 раз при очередной безуспешной установке 918+ прописать параметры сети, но это не помогло. Может быть тоже надо было поискать другие ip адреса. Увидел на форуме что без проблем у форумчан ставится 3622xs+, попробовал и думал что тоже ничего не вышло, пока случайно не увидел что ip адреса не совпадают. Нужный мне ip адрес прописал в роутере позже, привязав к маку. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.