Recommended Posts

 

Ввиду участившихся просьб с подобным вопросом, решил накидать небольшую инструкцию.

 

Нам понадобится:

  • macOS 11.5.2
  • VMware 12.1.2
  • Образ загрузчика RedPill отдельным файлом на флешке. В моем случае для инструкции это файл redpill-DS918+_7.0.1-42214_b1632313199.img (Инструкция по сборке в macOS).

Собрал специально для данной темы с данными, которые не соответствуют реальным устройствам и приведены ниже. В них мак-адреса сетевых карт и серийный номер взяты с потолка

 

{
  "extra_cmdline": {
    "pid": "0x0001",
    "vid": "0x46f4",
    "sn": "14A0PDN849204",
    "netif_num": "2",
    "mac1": "001132823486",
    "mac2": "001132823487",
    "DiskIdxMap": "1000",
    "SataPortMap": "4"
  },
  "synoinfo": {},
  "ramdisk_copy": {}
}
  • Live CD Ubuntu 20.04.03
  • Помнить  сочетания control+command для того, чтобы включить мышку после запуска виртуальной машины
  • Записать мак адресы, чтобы были под рукой для настройки виртуальной машины

 

Поехали! Будет штук 40 картинок и немного описания.

 

1. Создаем новую виртуальную машину

1.thumb.jpeg.a797509bc1387ce2e2c3ee24dfdb514b.jpeg2.thumb.jpeg.4e6348080c76773c93fc6fe799ae9fa2.jpeg

2. Выбираем пункт Create a custom virtual machine

3.thumb.jpeg.2c0eb9dcb338a3a713c3268f12551252.jpeg

3. VMware ESX ->VMware ESXi 7 and later

4.thumb.jpeg.9e54ff584722b26c3c6f5ac7b6a1fd42.jpeg

4. Тип биоса Legacy

5.thumb.jpeg.d30216d73162a40f4f35dd580f809581.jpeg

5. Создать новый виртуальный диск

6.thumb.jpeg.5d3b3c1f85cd7e6b0159132419a24934.jpeg

6. Выбираем Customize Settings

7.thumb.jpeg.7a5a2c771b32b473d8f168216ca41f5a.jpeg

7. Придумываем имя

8.thumb.jpeg.7d4fbbe11afa8fd6ebd18b17a843ef4a.jpeg

8. Это основное окно настройки нашей виртуальной машины. Тут мы будем добавлять (кнопка Add Device в правом верхнем углу) и удалять устройства.

9.thumb.jpeg.377430a5c0e7f15e42eb66df0ff2d6c5.jpeg

 

9. Выбираем диск SCSI, и в его настройках исправляем на SATA, а размер указываем 150мб под загрузчик. Позже на него мы запишем созданный образ redpill-DS918+_7.0.1-42214_b1632313199.img используя Live CD c Ubuntu. Все диски у нас будут SATA!

После завершения настройки этого диска нажимаем Add Device, выбираем добавить новый диск.

10.thumb.jpeg.6ecabe977a8285c865b3a34862104e63.jpeg

 

10. Создаем второй диск, для DSM, размер можно взять любым, главное условие, чтобы емкости хватило. Позже мы добавим еще парочку, но чтобы не запутаться, начнем с одного. На данном этапе рекомендую выбирать размер дисков для DSM большей емкости, потому что при 5ГБ после установки у вас не останется места, и система не даст создать раздел под данные. Это даст вам возможность их потом не ресайзить как мне во время написания инструкции. Но если все таки кто-то столкнется, просто установите виртуальную машину, и в настройках измените раздел в с 5 гб, на тот, который будет вам нужен и удобен. Я его изменил на 20 гб, и все работает после загрузки.

11.thumb.jpeg.b45e561da70058d50a1b0882df4cc78f.jpeg

 

11.Выбираем желаемое количество выделяемой памяти и количества используемых ядер для виртуальной машины

 

12.thumb.jpeg.53711822a064613b540a6ea50bffb443.jpeg

12. Настраиваем сетевой интерфейс который у нас уже имеется. Тут важны два параметра: нужны выбрать Autodetect и пописать мак-адрес первый из тех, что задавался при сборке загрузчика в apollolake_user_config.json. В данном случае - 001132823486

 

13.thumb.jpeg.2f3dc933879827283382575a9c3d6f63.jpeg

 

13. Создаем новый сетевой интерфейс, настройки как у предыдущего, только мак-адрес вставляем следующий 001132823487

14.thumb.jpeg.345f280a296d8d3a9499b1549fb7cd4e.jpeg

 

14. Заходим в настройки CD/DVD. Ставим галочку в чекбоксе "подключить" и выбираем образ Ubuntu, который предварительно скачали. И стартуем виртуальную машину.

15.thumb.jpeg.a8234b02b306a673bb90805e150a3c09.jpeg

 

15. Выбираем пункт Try Ubuntu

16.thumb.jpeg.1d04de89944854f06804138ee42ea3b7.jpeg

 

16. По окончании загрузки попадаем на рабочий стол

17.thumb.jpeg.36d1f3910b0e833fd1f2f60aca49c809.jpeg

 

17. Вставляем флешку с образом загрузчика. Система спросит что с ней сделать, выбираем примонтировать к виртуальной машине. Открываем файловый менеджер, ищем наше устройство USB, и копируем с него образ в папку Downloads

18.thumb.jpeg.91ef563828b53750bfd734015e8464aa.jpeg19.thumb.jpeg.b2fa099ee03774a381399dd7a548b369.jpeg

 

18.Переходим в портал приложений, и в поисковой строке набираем Terminal и запускаем его.

20.thumb.jpeg.73d6010ae6c21ad18552338e2b33cf1a.jpeg21.thumb.jpeg.99ecab486c15ff5961b2d71e525ec38a.jpeg

19. Набираем команду, чтобы перейти в папку, в которой лежит наш образ загрузчика

cd Downloads

22.thumb.jpeg.2dc3d82f6a0873ad9aa7068110e0c2ac.jpeg

20. Водим команду, чтобы вывести список доступных разделов, нас интересует тот, что на 150 мб (/dev/sda)

sudo fdisk -l

23.thumb.jpeg.8df8a37f189a5cb1b11838143a649adb.jpeg

21. Вводим команду, чтобы посмотреть список файлов в каталоге, в котором мы находимся, и убедится, что скопированный нами образ на месте. Это даст возможность легко скопировать его имя полностью.

ls -a

24.thumb.jpeg.7394da8228c2952fe24d68bb7c88831a.jpeg

22. Следующей командой мы запишем образ redpill-DS918+_7.0.1-42214_b1632313199.im на раздел /dev/sda

sudo dd if=redpill-DS918+_7.0.1-42214_b1632313199.img of=/dev/sda

25.thumb.jpeg.4e0e6001863bf6e1f88e8f5e7c23017a.jpeg

23. Выключаемся.

26.thumb.jpeg.af09551e9c42173bd6b0b93285a30c55.jpeg27.thumb.jpeg.314d0630936db6cc366fa0950af26485.jpeg28.thumb.jpeg.dde0ebedf67e841a92396907164578aa.jpeg29.thumb.jpeg.3ab5ffd7143ebe489b219054cc3a2af1.jpeg

24. После того, как виртуальная машина выключилась правой кнопкой Show in Finder

 

30.thumb.png.2b3e15af72df6ffb4c8b5c006c21b645.png

 

25. Выбираем нашу виртуальную машину, вызываем контекстное меню, и просим показать содержимое пакета.

 

31.thumb.jpeg.47eeb324f77cfa56b13321a7d0a9c4f1.jpeg

 

26. Ищем указанный файл, и просим открыть его текстовым редактором.

32.thumb.jpeg.d707c209a407530477ed39da44696391.jpeg33.thumb.jpeg.387e3616a669e07b45252aa155924e04.jpeg

 

27. Первое, что нам нужно сделать, это прописать нужный сетевой драйвер виртуальной машины, иначе она не будет обнаруживаться в сети

34.thumb.jpeg.50f29e37fe5c5c4d396d397f1cb12288.jpeg

28. Ищем "vmxnet3" и меняем на "e1000e". Сетевых интрефейса у нас два, потому замены должно быть тоже две. В конечном итоге все должно выглядеть как-то так.

ethernet0.virtualDev = "e1000e"
ethernet1.virtualDev = "e1000e"

35.thumb.jpeg.8a17b4c14a634e847a8cb47c6e25950f.jpeg

29. После все предыдущих манипуляций должна быть примерно следующая картина. Посмотрев на которую я понял, что забыл добавить последовательный порт для лога.

36.thumb.jpeg.0b4decc626b9ed7f114c56458eedc43f.jpeg

 

30. Поэтому выбираем Add  Device и добавляем, заодно указываем, куда сохранять лог.

37.thumb.jpeg.f91167d9257c86718df1afd2617bde2d.jpeg

31. Стартуем машину (выбираем режим SATA, потому что в нем игнорируются значения PID/VID), даем ей немного поработать (минуту-две), потому что как выяснилось, некоторые настройки в файл *.vmx прописываются чуть позже. На этом этапе она уже должна определяться в сети, но видеть диски не будет. Это мы исправим дальше.

38.thumb.jpeg.9f2c04cf9d9eadfd30f8bd4ad56baa70.jpeg

 

32. Останавливаем виртуалку (Shut down

)2051135834_37.thumb.png.7bd158e68df795ab21c95b08d389ff9e.png

 

33. Добавляем еще парочку дисков как в пункте 10 (размер может совпадать, диски должны быть SATA). Этот пункт не обязателен, но я его добавил, чтобы было понятнее, что и для чего мы еще будем редактировать в фале *.vmx

39.thumb.jpeg.94ad47bb8e75ed3b03829096abcd72cd.jpeg

 

34. Возвращаемся к пункам 24 - 27, в которых мы редактировали тип драйвера сетевого интерфейса, только теперь займемся настройками наших виртуальных  HDD.

 

Суть заключается в том, что нам нужно разнести виртуальный диск, на который записан загрузчик, и с дисками, на которых будет жить DSM, на разные виртуальные контроллеры. Номер контроллера или устройства начинается с нуля!

Следуя этой логике, нам нужно сделать так, чтобы загрузчик был на контроллере с номером "0", а остальные диски -  с номером "1".

Получаем:

  • sata0 - контроллер на котором сидит диск (устройство sata0:0) с загрузчиком,
  • sata1 - контроллер на котором сидят диски для DSM (устройства sata1:0, sata1:1, sata1:2)

 

Каждый контроллер для дисков тоже определяется в настройках, и имеет свои свойства, которые выглядят следующим образом:

 

sata0.present = "TRUE"
sata0.pciSlotNumber = "35"

 

sata1.present = "TRUE"
sata1.pciSlotNumber = "36"

 

Как и каждое устройство (диск в нашем случае):

sata0:0.fileName = "Virtual Disk.vmdk"
sata0:0.present = "TRUE"
sata0:0.redo = ""
sata1:0.fileName = "Virtual Disk 2.vmdk"
sata1:0.present = "TRUE"
sata1:0.redo = ""
sata1:1.fileName = "Virtual Disk 3.vmdk"
sata1:1.present = "TRUE"
sata1:1.redo = ""
sata1:2.fileName = "Virtual Disk 4.vmdk"
sata1:2.present = "TRUE"
sata1:2.redo = ""

 

 

35. Итоговый файл у меня выглядит вот так:

.encoding = "UTF-8"
config.version = "8"
virtualHW.version = "18"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
nvram = "DSM 7 Test.nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "soft"
powerType.powerOn = "soft"
powerType.suspend = "soft"
powerType.reset = "soft"
displayName = "DSM 7 Test"
guestOS = "vmkernel7"
vhv.enable = "TRUE"
tools.syncTime = "TRUE"
tools.upgrade.policy = "upgradeAtPowerCycle"
numvcpus = "4"
memsize = "4096"
scsi0.virtualDev = "pvscsi"
scsi0.present = "TRUE"
scsi0:0.fileName = "Virtual Disk.vmdk"
ide1:0.deviceType = "cdrom-image"
ide1:0.fileName = "/Users/fish/Downloads/ubuntu-20.04.3-desktop-amd64.iso"
ide1:0.present = "TRUE"
usb.present = "TRUE"
ehci.present = "TRUE"
ethernet0.addressType = "static"
ethernet0.virtualDev = "e1000e"
ethernet0.linkStatePropagation.enable = "TRUE"
ethernet0.present = "TRUE"
extendedConfigFile = "DSM 7 Test.vmxf"
ehci:0.parent = "-1"
ehci:0.port = "0"
ehci:0.deviceType = "video"
sata0.present = "TRUE"
sata1.present = "TRUE"
sata0:0.fileName = "Virtual Disk.vmdk"
sata0:0.present = "TRUE"
ethernet0.address = "00:11:32:82:34:86"
ethernet1.addressType = "static"
ethernet1.virtualDev = "e1000e"
ethernet1.present = "TRUE"
ethernet1.linkStatePropagation.enable = "TRUE"
ethernet1.address = "00:11:32:82:34:87"
ehci:0.deviceId = "0x8020000005ac8514"
numa.autosize.cookie = "40012"
numa.autosize.vcpu.maxPerVirtualNode = "4"
uuid.bios = "56 4d 9f 5f d2 3b 6a f5-ae a1 7d 94 e0 ca 92 6a"
uuid.location = "56 4d 9f 5f d2 3b 6a f5-ae a1 7d 94 e0 ca 92 6a"
sata0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "160"
usb.pciSlotNumber = "32"
ethernet0.pciSlotNumber = "192"
ethernet1.pciSlotNumber = "224"
ehci.pciSlotNumber = "33"
vmci0.pciSlotNumber = "34"
sata0.pciSlotNumber = "35"
scsi0.sasWWID = "50 05 05 6f d2 3b 6a f0"
svga.vramSize = "268435456"
vmotion.checkpointFBSize = "4194304"
vmotion.checkpointSVGAPrimarySize = "268435456"
vmotion.svga.mobMaxSize = "268435456"
vmotion.svga.graphicsMemoryKB = "262144"
vmci0.id = "-523595158"
monitor.phys_bits_used = "45"
cleanShutdown = "FALSE"
softPowerOff = "FALSE"
usb:1.speed = "2"
usb:1.present = "TRUE"
usb:1.deviceType = "hub"
usb:1.port = "1"
usb:1.parent = "-1"
svga.guestBackedPrimaryAware = "TRUE"
sata1:0.present = "TRUE"
sata1:0.fileName = "Virtual Disk 2.vmdk"
floppy0.present = "FALSE"
serial0.fileType = "file"
serial0.fileName = "/Users/fish/Desktop/log"
serial0.present = "TRUE"
sata1:0.redo = ""
sata1.pciSlotNumber = "36"
sata1:1.fileName = "Virtual Disk 3.vmdk"
sata1:1.present = "TRUE"
sata1:2.fileName = "Virtual Disk 4.vmdk"
sata1:2.present = "TRUE"
sata1:2.redo = ""
sata1:1.redo = ""
usb:0.present = "TRUE"
usb:0.deviceType = "hid"
usb:0.port = "0"
usb:0.parent = "-1"

 

 

P.S.

Постарался максимально подробно расписать и показать все то, что придется сделать, чтобы запустить DSM 7 в виртуалке на macOS. Пытался рассказать так, чтобы была понятна логика в тех местах, где она присутствует. Некоторые вещи всплыли уже в процессе оформления поста, когда все перепроверял (история с ресайзом дисков), так что другие ошибки тоже могу быть, но на суть они не влияют.

Edited by Amoureux
  • Like 2
Link to post
Share on other sites

40.thumb.jpg.a7412661afdf84169d88a22e88331515.jpg

 

41.thumb.png.0dd43520cbaefc8e8f18b218040c73c1.png

 

Этот скрин сделан уже после ресайза дисков в VMware Fusion, конечно было ошибкой выбрать размер в 5гб, при желании собрать raid5. Конечно же вам доступны и другие варианты использования дискового пространства. 

579439936_2021-09-2220_51_52.thumb.png.eae67c82954a95f1ba9d6fdb059373ef.png

Edited by Amoureux
Link to post
Share on other sites
  • XPEH locked this topic
Guest
This topic is now closed to further replies.