Jump to content
XPEnology Community

Recommended Posts

Posted (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 какая версия имиджа актуальна на данный момент и исправьте это в скрипте.

 

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
Posted (edited)

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

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

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

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

Edited by Naigo
Posted (edited)
6 часов назад, Naigo сказал:

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

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

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

Edited by Joyz
Posted

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

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

ИД не занят.

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

 

Posted

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

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

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

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

 

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

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

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

 

 

Posted (edited)

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

 

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

2090054763_.png.ebf97f696ee2c8a4e28ab11b8d4421af.png

 

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

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

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

Edited by surgeon2
Posted (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 by Joyz
Posted (edited)

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

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

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

7.0.1

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

Edited by surgeon2
Posted (edited)

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

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

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

1447489599_.png.7af123f8cb693915de9b0c9f22de898d.png

 

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

Edited by surgeon2
Posted (edited)

UPD2:

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

Решение:

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

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

Edited by surgeon2
Posted (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 by Joyz
Posted

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

Posted (edited)

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

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

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

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

Screenshot_1.png

Edited by baroflex
Posted (edited)
11 час назад, baroflex сказал:

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

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

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

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

 

 

Edited by Joyz
Posted

идентичный индикатор ошибки, пропинговался 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

Posted
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
Posted (edited)

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

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

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

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

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

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

Posted (edited)
В 14.11.2022 в 14:08, baroflex сказал:

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

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

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

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

Screenshot_1.png

Добрый день.

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

Edited by _maxx_
Posted

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

Posted
3 часа назад, _maxx_ сказал:

Но IP тоже не соответствовал тому что показывает в терминале.

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

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

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

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

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...