Jump to content
XPEnology Community

KVM and SATAMAP testing with RedPill - discoveries


Recommended Posts

Posted (edited)

I've been trying to sort out oddities reported in the TinyCore RedPill thread, and have completed some fairly exhaustive testing with the DS3622xs+ platform using ProxMox VE 7.2 (although I expect that these results would be consistent across all distributions of KVM code).

 

Complaint: cannot get rid of a blank disk slot in Storage Manager while using LSI SCSI HBA.

The issue was brought up by someone using a passthrough LSI SCSI HBA exclusively with no other disk controllers. But it isn't actually an LSI or even a KVM problem.

 

It appears that all SCSI HBA's, whether physical or virtual, ignore the SataPortMap/DiskIdxMap logic, and add in at (total ports + 1) after all SATA controllers have been processed.  When this happens, a status field is added to the device host in /sys/class:

config SYNO_TRANS_HOST_TO_DISK
	bool "Transfer scsi host number to disk name and export to sysfs"
	default y
	help
		<DSM> #35892
		Add an interface in sysfs to show disk name transfered from scsi host.
		usage:
		cat /sys/class/scsi_host/host*/syno_diskname_trans

 

This behavior is confirmed on baremetal and ESXi as well. Most of the time, the ports line up and there isn't any apparent issue. Because of some idiosyncrasies with KVM (to be detailed below), it was very obvious in the single SCSI controller use case described above. I expect it's true for all non-SATA controllers/HBAs regardless of type. There is probably no simple fix, but we can partially mitigate it. 

 

Discovery: KVM seems to support SATABOOT / General SATABOOT discussion

SATABOOT (i.e. booting from a disk image instead of a USB image) came along because ESXi cannot boot from a virtual USB key. So it is standard and required for ESXi installs on both RedPill and Jun loaders.  I was able to confirm that RedPill SATABOOT was functional with KVM VM's. This is more diagnostic than practical, again for reasons you will see below.

 

SATABOOT must be configured on a SATA controller (SCSI HBAs do not work). When RedPill encounters its loader as the boot device on a SATA controller, it "vanishes" that sd and replaces it with synoboot devices.  With Jun's loader, the sd device continued to exist and was just unlinked in /dev and replaced with equivalent synoboot devices on the fly (a.k.a. in "userland"). This required a special DiskIdxMap after the MaxDisks limit so that the physical device wasn't accessible. That also meant that any other devices that were on that SATA controller were not mapped to usable ports. With RedPill, it's technically possible to use disks attached to the same controller as the SATABOOT device, but there will be a blank slot where RedPill vanished the SATABOOT sd.  Since this leads to questions among some, it is best if no other devices are present on that SATA controller unless using a platform with Device Tree slot assignment (this is attempted to be enforced by rploader satamap via DiskIdxMap).

 

Using SATABOOT and a SCSI controller (passthrough or virtual) will result in a "slot gap" as initially described because the SATABOOT device adds to total ports even if it is vanished. Since the SCSI controller often follows a SATA controller, the gap may not be obvious.

 

Discovery: KVM hardware model behaviors: i440fx and q35

When you create a VM in any hypervisor, you must specify a virtual hardware template. In KVM, there are just two - i440fx and q35

 

i440fx is late 1990's era hardware emulation, but it does support ACPI so it is technically suitable for RedPill and DSM. Device passthrough is supported, but PCIe is emulated into PCI (since the chipset only supports PCI) which has some performance overhead. An Intel ACPI compliant SATA controller with 6 ports is emulated. Additional SATA controllers cannot be added. 

 

But the default controller for all disk types is VIrtIO SCSI as it is purported to be the most performant. It can be run in "single" mode where an individual controller is reserved for every disk, or a default mode supporting up to 14 disks on the one controller. 

 

q35 is circa-2007 hardware emulation supporting ACPI and modern PCIe virtual bus. It has somewhat better passthrough device performance. It has a quirk in that the hardware model ALWAYS includes an effectively broken SATA controller connected to an IDE bridge. It is not possible to connect devices to this controller. We should be able to ignore it except that both DSM and RedPill misbehave in its presence. Even though no disks can be attached to it, if we fail to specify an active port for it with SataPortMap, DSM will kernel panic during boot.  We CAN do the Jun map trick to make sure the port mapping doesn't affect the rest of our devices.

 

The same virtual SATA and SCSI disk controllers available on i440fx are available to q35. This allows us to run up to 6 disks on the virtual SATA controller, and 14 disks on the virtual SCSI controller, plus any passthrough physical devices.

 

If we use q35 and a SCSI controller of any kind, we will experience a slot gap, because the required broken SATA controller port reservation adds to the total ports. If we also use SATABOOT, this will 1) preclude the use of virtual SATA disks and 2) create a second port gap prior to SCSI controllers.

 

Summary of Findings:

- Any KVM-based VM can use virtual SATA or passthrough SATA controllers, and they will work with no slot gap.

- An i440fx VM can be used with a standard USB image and there will be no port gap regardless of the controller type.

- rploader satamap needs to be updated to handle the q35 port reservation issue and some tweaks from the postscript below.

 

Postscript Observation: apparent disk controller processing order (EDIT: this is conjecture, unable to create test conditions yet)

If SATABOOT is active, that controller is processed first on DSM boot. Therefore we need to update satamap to query for vid/pid to see if we are trying to SATABOOT. This controller MUST be first in SataPortMap/DiskIdxMap, but it might not be the lowest ordered/"first" PCIe device. Otherwise I believe that SataPortMap/DiskIdxMap processes exclusively using low to high ordered PCIe addresses.

Edited by flyride
added /sys/class information
  • Like 3
  • Thanks 2
Link to comment
Share on other sites

First many thanks go out to @flyride for taking the time to investigate this mysterious problem, it seems using system type i440fx is the better choice, in the sense it does eliminate the first slot gap. And allows a pci pass thru HBA controller to start populating drives in slot #1.

 

I am not sure if there are any other benefits or concerns using i440fx vs Q35 as system type?

 

image.png.0896c6f33ba864a7af3ab4e369807c5c.png

Link to comment
Share on other sites

Are you passing through the entire HBA or are you mapping the HBA drives into the VirtIO controller?  I was under the impression that a PCIe device passthrough wasn't functional since there is no PCIe bus in i440fx.

Link to comment
Share on other sites

Posted (edited)
6 minutes ago, flyride said:

Are you passing through the entire HBA or are you mapping the HBA drives into the VirtIO controller?  I was under the impression that a PCIe device passthrough wasn't functional since there is no PCIe bus in i440fx.

I powered down my other dsm vm, created a new vm as i440fx, pci pass thru the entire card to the i440fx vm (and you are correct, the pci checkbox is greyed out) so I rebuild the loader using the user_config.json from the first vm, powered it up and boom! Disk in slot 1.

 

So I am actually passing the entire card. I am not sure how to check if anything is or is not working?

image.thumb.png.e167b261224caf37f3b10857f69267a5.png

Edited by phone guy
Link to comment
Share on other sites

3 minutes ago, flyride said:

There are a lot of posts on the topic.  I found this post that seems to answer my question.  I'll amend my first post to indicate that passthrough system performance is a differentiator.

 

https://altechnative.net/virtualized-windows-10-i440fx-vs-q35/#:~:text=For a long time%2C Q35,be PCI rather than PCIe.

According to that link, q35 seems to use less cpu power vs i440fx, not sure how to test that especially for a dsm install? I can tell you that when building the loader under the i440fx system, when running the ./rploader.sh satamap now command, it detected only the hba (albeit with no drives) and wanted to default to 0 connected drives, I choose 8 and enter. the resulting user_config.json entry looked like this

    "SataPortMap": "8",
    "DiskIdxMap": "00"

And on powerup, dsm just loaded right up... of course it still had my previous installation still intact.

 

Are there any tests I can run to compare performance? or any tests you would like any results from?

Link to comment
Share on other sites

Given your specific configuration with i440fx hardware emulation, I think you can put anything in SataPortMap and DiskIdxMap and it won't matter.

TCRP will be updated to omit SCSI HBAs from device scanning to determine these values in the future.

 

I would not worry about testing for performance.  It makes sense there would be a difference.  But whether that difference is meaningful?

Hardware and CPU cycles are cheap.

  • Like 1
Link to comment
Share on other sites

Just to complete the test, I edited the first (main) VM from q35 to i440fx, and tried to spin it up - it gave me an error, due to the pci pass thru.  So I removed the pci card from its hardware profile, and added it again (no pcie checkbox) and it powered right up with disks on the HBA starting at slot #1... So good to go!

I did not re-build its loader, so NO change to its user_config.json which read like this:

    "SataPortMap": "1",
    "DiskIdxMap": "00"

 

Link to comment
Share on other sites

Thanks for all your testing and results @flyride. From previous experience with proxmox, I'm going to stick with the q35 option and just deal with the drive numbering offset.

 

q35 should be picked when passing through PCIe devices, but each to their own of course :)

Link to comment
Share on other sites

1 hour ago, ideasman69 said:

Thanks for all your testing and results @flyride. From previous experience with proxmox, I'm going to stick with the q35 option and just deal with the drive numbering offset.

 

q35 should be picked when passing through PCIe devices, but each to their own of course :)

From the research, the only difference is a slight performance hit of about 25%. I am not saying thats not important, but could you elaborate as to why stick with q35?

Link to comment
Share on other sites

Posted (edited)
On 5/19/2022 at 4:28 PM, flyride said:

- rploader satamap needs to be updated to handle the q35 port reservation issue and some tweaks from the postscript below.

 

0.7.1.6 version of rploader.sh script (obtainable by ./rploader.sh update now) has implemented these enhancements.

Edited by flyride
  • Like 2
Link to comment
Share on other sites

Posted (edited)
9 hours ago, flyride said:

 

0.7.1.6 version of rploader.sh script (obtainable by ./rploader.sh update now) has implemented these enhancements.

Not sure what was improved or changed, but build a new VM as Q35 (whatever the latest version in proxmox is). Set pci pass thru of hba like before, create fresh new loader, rploader os 0.7.1.6 - however disks on HBA still start at slot #2. These are the only drives in that system all physical. nothing emu.

./rploader.sh update now
./rploader.sh fullupgrade now
./rploader.sh satamap now
./rploader.sh ext broadwellnk-7.1.0-42661 add https://raw.githubusercontent.com/dodo-dk/rp-ext/main/acpid/rpext-index.json
./rploader.sh ext broadwellnk-7.1.0-42661 add https://raw.githubusercontent.com/pocopico/rp-ext/master/v9fs/rpext-index.json
./rploader.sh ext broadwellnk-7.1.0-42661 add https://raw.githubusercontent.com/pocopico/rp-ext/master/mpt3sas/rpext-index.json
./rploader.sh build broadwellnk-7.1.0-42661
./rploader.sh clean now; rm -rf /mnt/sdb3/auxfiles; rm -rf /home/tc/custom-module; ./rploader.sh backup now;

image.png.14fd1df542304a5e5013ead030a3658d.png

Spoiler

login as: tc
tc@192.168.1.193's password:
   ( '>')
  /) TC (\   Core is distributed with ABSOLUTELY NO WARRANTY.
 (/-_--_-\)           www.tinycorelinux.net

tc@box:~$ ./rploader.sh update now
Checking Internet Access -> OK
Checking if a newer version exists on the repo -> There is a newer version of the script on the repo should we use that ? [yY/nN]y
OK, updating, please re-run after updating
Updating tinycore loader with latest updates
Backing up files to /mnt/sda3//mydata.tgz
Done.
tc@box:~$ ./rploader.sh fullupgrade now
Performing a full TCRP upgrade
Warning some of your local files will be moved to /home/tc/old/xxxx.2022-May-23-04-29
Updating custom_config.json
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 33806  100 33806    0     0  67883      0 --:--:-- --:--:-- --:--:-- 67883
Updating custom_config_jun.json
mv: cannot stat 'custom_config_jun.json': No such file or directory
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  8940  100  8940    0     0  22183      0 --:--:-- --:--:-- --:--:-- 22183
Updating global_config.json
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  5692  100  5692    0     0  12819      0 --:--:-- --:--:-- --:--:-- 12819
Updating modules.alias.3.json.gz
mv: cannot stat 'modules.alias.3.json.gz': No such file or directory
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  5591  100  5591    0     0  14447      0 --:--:-- --:--:-- --:--:-- 14447
Updating modules.alias.4.json.gz
mv: cannot stat 'modules.alias.4.json.gz': No such file or directory
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 89007  100 89007    0     0   222k      0 --:--:-- --:--:-- --:--:--  222k
Updating rpext-index.json
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  211k  100  211k    0     0   325k      0 --:--:-- --:--:-- --:--:--  325k
Updating user_config.json
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   431  100   431    0     0    938      0 --:--:-- --:--:-- --:--:--   938
Updating dtc
mv: cannot stat 'dtc': No such file or directory
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  146k  100  146k    0     0   284k      0 --:--:-- --:--:-- --:--:--  284k
Updating rploader.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 87863  100 87863    0     0   221k      0 --:--:-- --:--:-- --:--:--  221k
Updating ds1621p.dts
mv: cannot stat 'ds1621p.dts': No such file or directory
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  3026  100  3026    0     0   6424      0 --:--:-- --:--:-- --:--:--  6424
Updating ds920p.dts
mv: cannot stat 'ds920p.dts': No such file or directory
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  2423  100  2423    0     0   5674      0 --:--:-- --:--:-- --:--:--  5674
Please make sure you are using the latest 1GB img before using backup option
Current /home/tc size is 2.5M , try to keep it less than 1GB as it might not fit into your image
Should i update the sda with your current files [Yy/Nn]
y
Backing up home files to sda : Backing up files to /mnt/sda3//mydata.tgz
Done.

tc@box:~$ ./rploader.sh satamap now
Machine is VIRTUAL Hypervisor=KVM

Found "00:1f.2 Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (rev 02)"
0 drive(s) connected. Reserving and disabling KVM q35 hardware model bogus controller

Recommended settings:
SataPortMap=1
DiskIdxMap=10

Should i update the user_config.json with these values ? [Yy/Nn] y
Done.
tc@box:~$ ./rploader.sh
rploader.sh

Version : 0.7.1.6
----------------------------------------------------------------------------------------
Usage: ./rploader.sh <action> <platform version> <static or compile module> [extension manager arguments]

Actions: build, ext, download, clean, update, listmod, serialgen, identifyusb, satamap, mountshare

- build:        Build the 💊 RedPill LKM and update the loader image for the specified
                platform version and update current loader.

- ext:          Manage extensions, options go after platform (add/force_add/info/remove/update/cleanup/auto)

                example:

                rploader.sh ext apollolake-7.0.1-42218 add https://raw.githubusercontent.com/pocopico/rp-ext/master/e1000/rpext-index.json

                or for auto detect use

                rploader.sh ext apollolake-7.0.1-42218 auto

- download:     Download redpill sources only

- clean:        Removes all cached files and starts over

- update:       Checks github repo for latest version of rploader

- listmods:     Tries to figure out required extensions

- serialgen:    Generates a serial number and mac address for the following platforms

                DS3615xs DS3617xs DS916+ DS918+ DS920+ DS3622xs+ FS6400 DVA3219 DVA3221 DS1621+

- identifyusb:  Tries to identify your loader usb stick VID:PID and updates the user_config.json file

- patchdtc:     Tries to identify and patch your dtc model for your disk and nvme devices.

- satamap:      Tries to identify your SataPortMap and DiskIdxMap values and updates the user_config.json file

- backup:       Backup and make changes /home/tc changed permanent to your loader disk

- backuploader: Backup current loader partitions to your TCRP partition

- restoreloader:Restore current loader partitions from your TCRP partition

- restoresession: Restore last user session files. (extensions and user_config.json)

- mountdsmroot: Mount DSM root for manual intervention on DSM root partition

- postupdate:   Runs a postupdate process to recreate your rd.gz, zImage and custom.gz for junior to match root

- mountshare:   Mounts a remote CIFS working directory

- version:      Prints rploader version and if the history option is passed then the version history is listed.

Version : 0.7.1.6
----------------------------------------------------------------------------------------
Available platform versions:
----------------------------------------------------------------------------------------
apollolake-7.0-41890
apollolake-7.0.1-42218
apollolake-7.0.1-42218-JUN
apollolake-7.1.0-42621
apollolake-7.1.0-42661
broadwell-7.0.1-42218
broadwell-7.0.1-42218-JUN
broadwell-7.1.0-42621
broadwell-7.1.0-42661
broadwellnk-7.0.1-42218
broadwellnk-7.0.1-42218-JUN
broadwellnk-7.1.0-42621
broadwellnk-7.1.0-42661
bromolow-7.0.1-42218
bromolow-7.0.1-42218-JUN
bromolow-7.1.0-42621
bromolow-7.1.0-42661
denverton-7.0.1-42218
denverton-7.0.1-42218-JUN
denverton-7.1.0-42621
denverton-7.1.0-42661
geminilake-7.0.1-42218
geminilake-7.0.1-42218-JUN
geminilake-7.1.0-42621
geminilake-7.1.0-42661
v1000-7.0.1-42218
v1000-7.0.1-42218-JUN
v1000-7.1.0-42621
v1000-7.1.0-42661
----------------------------------------------------------------------------------------
Check global_settings.json for settings.
tc@box:~$ ./rploader.sh satamap now
Machine is VIRTUAL Hypervisor=KVM

Found "00:1f.2 Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (rev 02)"
0 drive(s) connected. Reserving and disabling KVM q35 hardware model bogus controller

Recommended settings:
SataPortMap=1
DiskIdxMap=10

Should i update the user_config.json with these values ? [Yy/Nn]
OK remember to update manually by editing user_config.json file
tc@box:~$ lspci
00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller
00:01.0 VGA compatible controller: Device 1234:1111 (rev 02)
00:02.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)
00:1a.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)
00:1a.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)
00:1a.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Red Hat, Inc. Device 000c
00:1c.1 PCI bridge: Red Hat, Inc. Device 000c
00:1c.2 PCI bridge: Red Hat, Inc. Device 000c
00:1c.3 PCI bridge: Red Hat, Inc. Device 000c
00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)
00:1f.0 ISA bridge: Intel Corporation 82801IB (ICH9) LPC Interface Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (rev 02)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02)
01:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2308 PCI-Express Fusion-MPT SAS-2 (rev 01)
05:01.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
05:02.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
05:03.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
05:04.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
06:12.0 Ethernet controller: Red Hat, Inc Virtio network device
tc@box:~$ ./rploader.sh ext broadwellnk-7.1.0-42661 add https://raw.githubusercontent.com/pocopico/rp-ext/master/v9fs/rpext-index.json
Rploader Version : 0.7.1.6
Loader source : https://github.com/pocopico/redpill-load.git Loader Branch : develop
Redpill module source : https://github.com/pocopico/redpill-lkm.git : Redpill module branch : master
Extensions :   redpill-misc
Extensions URL : "https://github.com/pocopico/redpill-load/raw/master/redpill-misc/rpext-index.json"
TOOLKIT_URL : https://sourceforge.net/projects/dsgpl/files/toolkit/DSM7.0/ds.broadwellnk-7.0.dev.txz/download
TOOLKIT_SHA : 0d9edca67d9e7e14c2529bbb58341b623936124d5264f71f1e4acbacf3ea202d
SYNOKERNEL_URL : https://sourceforge.net/projects/dsgpl/files/Synology%20NAS%20GPL%20Source/25426branch/broadwellnk-source/linux-4.4.x.txz/download
SYNOKERNEL_SHA : d3e85eb80f16a83244fcae6016ab6783cd8ac55e3af2b4240455261396e1e1be
COMPILE_METHOD : toolkit_dev
TARGET_PLATFORM       : broadwellnk
TARGET_VERSION    : 7.1.0
TARGET_REVISION : 42661
REDPILL_LKM_MAKE_TARGET : dev-v7
KERNEL_MAJOR : 4
MODULE_ALIAS_FILE :  modules.alias.4.json
SYNOMODEL : ds3622xsp_42661
MODEL : DS3622xs+
Local Cache Folder : /mnt/sda3/auxfiles
DATE Internet : 23052022 Local : 23052022
Checking Internet Access -> OK
Cloning into 'redpill-lkm'...
remote: Enumerating objects: 1253, done.
remote: Counting objects: 100% (325/325), done.
remote: Compressing objects: 100% (41/41), done.
remote: Total 1253 (delta 302), reused 284 (delta 283), pack-reused 928
Receiving objects: 100% (1253/1253), 469.84 KiB | 1.81 MiB/s, done.
Resolving deltas: 100% (865/865), done.
Cloning into 'redpill-load'...
remote: Enumerating objects: 1945, done.
remote: Counting objects: 100% (33/33), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 1945 (delta 12), reused 27 (delta 9), pack-reused 1912
Receiving objects: 100% (1945/1945), 95.77 MiB | 1017.00 KiB/s, done.
Resolving deltas: 100% (916/916), done.
[#] Checking runtime for required tools... [OK]
[#] Adding new extension from https://raw.githubusercontent.com/pocopico/rp-ext/master/v9fs/rpext-index.json...
[#] Downloading remote file https://raw.githubusercontent.com/pocopico/rp-ext/master/v9fs/rpext-index.json to /home/tc/redpill-load/custom/extensions/_new_ext_index.tmp_json
################################################################################################################################################# 100.0%
[OK]
[#] ========================================== pocopico.v9fs ==========================================
[#] Extension name: v9fs
[#] Description: Adds  Support
[#] To get help visit: <todo>
[#] Extension preparer/packer: https://github.com/pocopico/rp-ext/tree/main/v9fs
[#] Software author: https://github.com/pocopico
[#] Update URL: https://raw.githubusercontent.com/pocopico/rp-ext/master/v9fs/rpext-index.json
[#] Platforms supported: ds1621p_42218 ds918p_41890 dva3221_42661 ds3617xs_42621 ds3617xs_42218 ds920p_42661 ds918p_42661 ds1621p_42661 ds918p_25556 dva3221_42218 ds3615xs_42661 ds3622xsp_42661 ds3622xsp_42218 dva3221_42621 ds3615xs_41222 ds918p_42621 ds3617xs_42661 ds3615xs_25556 ds920p_42218 ds920p_42621 ds918p_42218 ds1621p_42621 ds3615xs_42621 ds3615xs_42218 ds3622xsp_42621
[#] =======================================================================================

tc@box:~$ ./rploader.sh ext broadwellnk-7.1.0-42661 add https://raw.githubusercontent.com/dodo-dk/rp-ext/main/acpid/rpext-index.json
Rploader Version : 0.7.1.6
Loader source : https://github.com/pocopico/redpill-load.git Loader Branch : develop
Redpill module source : https://github.com/pocopico/redpill-lkm.git : Redpill module branch : master
Extensions :   redpill-misc
Extensions URL : "https://github.com/pocopico/redpill-load/raw/master/redpill-misc/rpext-index.json"
TOOLKIT_URL : https://sourceforge.net/projects/dsgpl/files/toolkit/DSM7.0/ds.broadwellnk-7.0.dev.txz/download
TOOLKIT_SHA : 0d9edca67d9e7e14c2529bbb58341b623936124d5264f71f1e4acbacf3ea202d
SYNOKERNEL_URL : https://sourceforge.net/projects/dsgpl/files/Synology%20NAS%20GPL%20Source/25426branch/broadwellnk-source/linux-4.4.x.txz/download
SYNOKERNEL_SHA : d3e85eb80f16a83244fcae6016ab6783cd8ac55e3af2b4240455261396e1e1be
COMPILE_METHOD : toolkit_dev
TARGET_PLATFORM       : broadwellnk
TARGET_VERSION    : 7.1.0
TARGET_REVISION : 42661
REDPILL_LKM_MAKE_TARGET : dev-v7
KERNEL_MAJOR : 4
MODULE_ALIAS_FILE :  modules.alias.4.json
SYNOMODEL : ds3622xsp_42661
MODEL : DS3622xs+
Local Cache Folder : /mnt/sda3/auxfiles
DATE Internet : 23052022 Local : 23052022
Checking Internet Access -> OK
Redpill sources already downloaded, pulling latest
Already up to date.
Loader sources already downloaded, pulling latest
Already up to date.
[#] Checking runtime for required tools... [OK]
[#] Adding new extension from https://raw.githubusercontent.com/dodo-dk/rp-ext/main/acpid/rpext-index.json...
[#] Downloading remote file https://raw.githubusercontent.com/dodo-dk/rp-ext/main/acpid/rpext-index.json to /home/tc/redpill-load/custom/extensions/_new_ext_index.tmp_json
################################################################################################################################################# 100.0%
[OK]
[#] ========================================== dodo-dk.acpid ==========================================
[#] Extension name: ACPI Daemon
[#] Description: ACPI Daemon v2 that handles power button events v1.4
[#] To get help visit: <todo>
[#] Extension preparer/packer: https://github.com/dodo-dk/rp-ext/tree/main/acpid
[#] Software author: https://github.com/dodo-dk
[#] Update URL: https://raw.githubusercontent.com/dodo-dk/rp-ext/main/acpid/rpext-index.json
[#] Platforms supported: ds3622xsp_42661
[#] =======================================================================================

tc@box:~$ ./rploader.sh ext broadwellnk-7.1.0-42661 add https://raw.githubusercontent.com/pocopico/rp-ext/master/mpt3sas/rpext-index.json
Rploader Version : 0.7.1.6
Loader source : https://github.com/pocopico/redpill-load.git Loader Branch : develop
Redpill module source : https://github.com/pocopico/redpill-lkm.git : Redpill module branch : master
Extensions :   redpill-misc
Extensions URL : "https://github.com/pocopico/redpill-load/raw/master/redpill-misc/rpext-index.json"
TOOLKIT_URL : https://sourceforge.net/projects/dsgpl/files/toolkit/DSM7.0/ds.broadwellnk-7.0.dev.txz/download
TOOLKIT_SHA : 0d9edca67d9e7e14c2529bbb58341b623936124d5264f71f1e4acbacf3ea202d
SYNOKERNEL_URL : https://sourceforge.net/projects/dsgpl/files/Synology%20NAS%20GPL%20Source/25426branch/broadwellnk-source/linux-4.4.x.txz/download
SYNOKERNEL_SHA : d3e85eb80f16a83244fcae6016ab6783cd8ac55e3af2b4240455261396e1e1be
COMPILE_METHOD : toolkit_dev
TARGET_PLATFORM       : broadwellnk
TARGET_VERSION    : 7.1.0
TARGET_REVISION : 42661
REDPILL_LKM_MAKE_TARGET : dev-v7
KERNEL_MAJOR : 4
MODULE_ALIAS_FILE :  modules.alias.4.json
SYNOMODEL : ds3622xsp_42661
MODEL : DS3622xs+
Local Cache Folder : /mnt/sda3/auxfiles
DATE Internet : 23052022 Local : 23052022
Checking Internet Access -> OK
Redpill sources already downloaded, pulling latest
Already up to date.
Loader sources already downloaded, pulling latest
Already up to date.
[#] Checking runtime for required tools... [OK]
[#] Adding new extension from https://raw.githubusercontent.com/pocopico/rp-ext/master/mpt3sas/rpext-index.json...
[#] Downloading remote file https://raw.githubusercontent.com/pocopico/rp-ext/master/mpt3sas/rpext-index.json to /home/tc/redpill-load/custom/extensions/_new_ext_index.tmp_json
################################################################################################################################################# 100.0%
[OK]
[#] ========================================== pocopico.mpt3sas ==========================================
[#] Extension name: mpt3sas
[#] Description: Adds LSI MPT Fusion SAS 3.0 Device Driver Support
[#] To get help visit: <todo>
[#] Extension preparer/packer: https://github.com/pocopico/rp-ext/tree/main/mpt3sas
[#] Software author: https://github.com/pocopico
[#] Update URL: https://raw.githubusercontent.com/pocopico/rp-ext/master/mpt3sas/rpext-index.json
[#] Platforms supported: ds1621p_42218 ds918p_41890 dva3221_42661 ds3617xs_42621 ds3617xs_42218 ds920p_42661 ds918p_42661 ds1621p_42661 ds918p_25556 dva3221_42218 ds3615xs_42661 ds3622xsp_42661 ds3622xsp_42218 dva3221_42621 ds3615xs_41222 ds918p_42621 ds3617xs_42661 ds3615xs_25556 ds920p_42218 ds920p_42621 ds918p_42218 ds1621p_42621 ds3615xs_42621 ds3615xs_42218 ds3622xsp_42621
[#] =======================================================================================

tc@box:~$ ./rploader.sh build broadwellnk-7.1.0-42661
Rploader Version : 0.7.1.6
Loader source : https://github.com/pocopico/redpill-load.git Loader Branch : develop
Redpill module source : https://github.com/pocopico/redpill-lkm.git : Redpill module branch : master
Extensions :   redpill-misc
Extensions URL : "https://github.com/pocopico/redpill-load/raw/master/redpill-misc/rpext-index.json"
TOOLKIT_URL : https://sourceforge.net/projects/dsgpl/files/toolkit/DSM7.0/ds.broadwellnk-7.0.dev.txz/download
TOOLKIT_SHA : 0d9edca67d9e7e14c2529bbb58341b623936124d5264f71f1e4acbacf3ea202d
SYNOKERNEL_URL : https://sourceforge.net/projects/dsgpl/files/Synology%20NAS%20GPL%20Source/25426branch/broadwellnk-source/linux-4.4.x.txz/download
SYNOKERNEL_SHA : d3e85eb80f16a83244fcae6016ab6783cd8ac55e3af2b4240455261396e1e1be
COMPILE_METHOD : toolkit_dev
TARGET_PLATFORM       : broadwellnk
TARGET_VERSION    : 7.1.0
TARGET_REVISION : 42661
REDPILL_LKM_MAKE_TARGET : dev-v7
KERNEL_MAJOR : 4
MODULE_ALIAS_FILE :  modules.alias.4.json
SYNOMODEL : ds3622xsp_42661
MODEL : DS3622xs+
Local Cache Folder : /mnt/sda3/auxfiles
DATE Internet : 23052022 Local : 23052022
Checking Internet Access -> OK
Checking if a newer version exists on the repo -> Version is current
Redpill sources already downloaded, pulling latest
Already up to date.
Loader sources already downloaded, pulling latest
Already up to date.
No extra build option or static specified, using default <static>
Using static compiled redpill extension
Removing any old redpill.ko modules
Looking for redpill for : ds3622xsp_42661
Getting file https://raw.githubusercontent.com/pocopico/rp-ext/master/redpill/releases/redpill-4.4.180plus-broadwellnk.tgz
Extracting module
Getting file https://raw.githubusercontent.com/pocopico/rp-ext/master/redpill/src/check-redpill.sh
Got redpill-linux-v4.4.180+.ko
Testing modules.alias.4.json -> File OK
------------------------------------------------------------------------------------------------
It looks that you will need the following modules :


Found VGA Controller : pciid 1234d00001111  Required Extension : bochs_drm
bochs_drm
Searching for matching extension for bochs_drm
Found SATA Controller : pciid 8086d00002922  Required Extension : ahci
Searching for matching extension for ahci
[#] Checking runtime for required tools... [OK]
[#] Adding new extension from https://raw.githubusercontent.com/pocopico/rp-ext/master/mpt3sas/rpext-index.json...
[#] Downloading remote file https://raw.githubusercontent.com/pocopico/rp-ext/master/mpt3sas/rpext-index.json to /home/tc/redpill-load/custom/extensions/_new_ext_index.tmp_json
######################################################################## 100.0%

[!] Extension is already added (index exists at /home/tc/redpill-load/custom/extensions/pocopico.mpt3sas/pocopico.mpt3sas.json). For more info use "ext-manager.sh info pocopico.mpt3sas"

*** Process will exit ***
Found SAS Controller : pciid 1000d00000087  Required Extension : mpt3sas
Searching for matching extension for mpt3sas
Found matching extension :
"https://raw.githubusercontent.com/pocopico/rp-ext/master/mpt3sas/rpext-index.json"
Found Ethernet Interface : pciid 1af4d00001000 Required Extension :
No matching extension
------------------------------------------------------------------------------------------------
Starting loader creation
Found tinycore cache folder, linking to home/tc/custom-module
Checking user_config.json : Done
Entering redpill-load directory
Removing bundled exts directories
Cache directory OK
Found build request for revision greater than 42218
Getting required extraction tool
------------------------------------------------------------------
Checking tinycore cache folder
Found tinycore cache folder, linking to home/tc/custom-module
Creating temp folder /tmp/synoesp
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  345M  100  345M    0     0  10.7M      0  0:00:32  0:00:32 --:--:-- 10.0M
Entering synoesp
extract rd.gz
finish
cpio: dev/console: Cannot mknod: Operation not permitted
cpio: dev/net/tun: Cannot mknod: Operation not permitted
42506 blocks
extract rd
mkdir: cannot create directory '/mnt/sda3/auxfiles': File exists
Copying required files to local cache folder for future use
Copying usr/lib/libcurl.so.4 to /mnt/sda3/auxfiles
Copying usr/lib/libmbedcrypto.so.5 to /mnt/sda3/auxfiles
Copying usr/lib/libmbedtls.so.13 to /mnt/sda3/auxfiles
Copying usr/lib/libmbedx509.so.1 to /mnt/sda3/auxfiles
Copying usr/lib/libmsgpackc.so.2 to /mnt/sda3/auxfiles
Copying usr/lib/libsodium.so to /mnt/sda3/auxfiles
Copying usr/lib/libsynocodesign-ng-virtual-junior-wins.so.7 to /mnt/sda3/auxfiles
Copying usr/syno/bin/scemd to /mnt/sda3/auxfiles
Copying required libraries to local lib directory
Linking lib to lib64
Copying executable
Removing temp folder /tmp/synoesp
Checking if tools is accessible
/bin/syno_extract_system_patch: /usr/local/lib/libcurl.so.4: no version information available (required by /bin/syno_extract_system_patch)
Copyright (c) 2003-2021 Synology Inc. All rights reserved.

/bin/syno_extract_system_patch PATCH_PATH DEST_PATH
Executed succesfully
Creating temp folder /tmp/pat
Checking for cached pat file
Found tinycore cache folder, linking to home/tc/custom-module
Could not find pat file locally cached
Configdir : /home/tc/redpill-load/config/DS3622xs+/7.1.0-42661
Configfile: /home/tc/redpill-load/config/DS3622xs+/7.1.0-42661/config.json
Pat URL : https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DS3622xs%2B_42661.pat
Downloading pat file from URL : https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DS3622xs%2B_42661.pat
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  352M  100  352M    0     0  10.3M      0  0:00:33  0:00:33 --:--:-- 9017k
File //mnt/sda3/auxfiles/ds3622xsp_42661.pat, is  encrypted
File //mnt/sda3/auxfiles/ds3622xsp_42661.pat, has been cached but its encrypted, re-running decrypting process
Checking for cached pat file
Found tinycore cache folder, linking to home/tc/custom-module
Found locally cached pat file /home/tc/custom-module/ds3622xsp_42661.pat
File /home/tc/custom-module/ds3622xsp_42661.pat, is  encrypted
Extracting encrypted pat file : /home/tc/custom-module/ds3622xsp_42661.pat to /tmp/pat
/bin/syno_extract_system_patch: /usr/local/lib/libcurl.so.4: no version information available (required by /bin/syno_extract_system_patch)
Creating unecrypted pat file ds3622xsp_42661.pat to /home/tc/redpill-load/cache folder
./VERSION
Pat file  sha256sum is : 5ecec57458cc16608270a7edb900751fc1915983911f1f161f0b3e87d7923438
Checking config file existence -> OK
Editing config file -> Verifying config file -> OK !
Clearing temp folders
Processing add_extensions entries found on custom_config.json file :   redpill-misc
Adding extension "https://github.com/pocopico/redpill-load/raw/master/redpill-misc/rpext-index.json"
[#] Checking runtime for required tools... [OK]
[#] Adding new extension from https://github.com/pocopico/redpill-load/raw/master/redpill-misc/rpext-index.json...
[#] Downloading remote file https://github.com/pocopico/redpill-load/raw/master/redpill-misc/rpext-index.json to /home/tc/redpill-load/custom/extensions/_new_ext_index.tmp_json
################################################################################################################################################# 100.0%
[OK]
[#] ========================================== redpill-misc ==========================================
[#] Extension name: Misc shell
[#] Description: Misc shell
[#] To get help visit: https://github.com/pocopico/redpill-load/raw/develop/redpill-misc
[#] Extension preparer/packer: https://github.com/pocopico/redpill-load/raw/develop/redpill-misc
[#] Software author: https://github.com/pocopico/redpill-load/raw/develop/redpill-misc
[#] Update URL: https://github.com/pocopico/redpill-load/raw/develop/redpill-misc/rpext-index.json
[#] Platforms supported: ds1621p_42218 ds918p_41890 dva3221_42661 ds3617xs_42621 ds3617xs_42218 ds920p_42661 ds918p_42661 ds1621p_42661 ds918p_25556 dva3221_42218 ds3615xs_42661 ds3622xsp_42661 ds3622xsp_42218 dva3221_42621 ds3615xs_41222 ds918p_42621 ds3617xs_42661 ds3615xs_25556 ds920p_42218 ds920p_42621 ds918p_42218 ds1621p_42621 ds3615xs_42621 ds3615xs_42218 ds3622xsp_42621
[#] =======================================================================================

Updating extension : redpill-misc contents for model : ds3622xsp_42661
[#] Checking runtime for required tools... [OK]
[#] Updating ds3622xsp_42661 platforms extensions...
[#] Downloading remote file https://github.com/pocopico/redpill-load/raw/develop/redpill-misc/recipes/universal.json to /home/tc/redpill-load/custom/extensions/_ext_new_rcp.tmp_json
################################################################################################################################################# 100.0%

[#] Filling-in newly downloaded recipe for extension redpill-misc platform ds3622xsp_42661
[#] Downloading remote file https://github.com/pocopico/redpill-load/raw/develop/redpill-misc/releases/install.sh to /home/tc/redpill-load/custom/extensions/redpill-misc/ds3622xsp_42661/install.sh
################################################################################################################################################# 100.0%
[#] Verifying /home/tc/redpill-load/custom/extensions/redpill-misc/ds3622xsp_42661/install.sh file...  [OK]
[#] Downloading remote file https://github.com/pocopico/redpill-load/raw/develop/redpill-misc/releases/install-all.sh to /home/tc/redpill-load/custom/extensions/redpill-misc/ds3622xsp_42661/install-all.sh
################################################################################################################################################# 100.0%
[#] Verifying /home/tc/redpill-load/custom/extensions/redpill-misc/ds3622xsp_42661/install-all.sh file...  [OK]
[#] Downloading remote file https://github.com/tsl0922/ttyd/releases/download/1.6.3/ttyd.x86_64 to /home/tc/redpill-load/custom/extensions/redpill-misc/ds3622xsp_42661/ttyd
################################################################################################################################################# 100.0%
[#] Verifying /home/tc/redpill-load/custom/extensions/redpill-misc/ds3622xsp_42661/ttyd file...  [OK]
[#] Downloading remote file https://github.com/pocopico/redpill-load/raw/develop/redpill-misc/releases/install_rd.sh to /home/tc/redpill-load/custom/extensions/redpill-misc/ds3622xsp_42661/install_rd.sh
################################################################################################################################################# 100.0%
[#] Verifying /home/tc/redpill-load/custom/extensions/redpill-misc/ds3622xsp_42661/install_rd.sh file...  [OK]
[#] Downloading remote file https://github.com/pocopico/redpill-load/raw/develop/redpill-misc/releases/lrzsz.tar.gz to /home/tc/redpill-load/custom/extensions/redpill-misc/ds3622xsp_42661/lrzsz.tar.gz
################################################################################################################################################# 100.0%
[#] Verifying /home/tc/redpill-load/custom/extensions/redpill-misc/ds3622xsp_42661/lrzsz.tar.gz file...  [OK]
[#] Unpacking files from /home/tc/redpill-load/custom/extensions/redpill-misc/ds3622xsp_42661/lrzsz.tar.gz to /home/tc/redpill-load/custom/extensions/redpill-misc/ds3622xsp_42661/...  [OK]
[#] Successfully processed recipe for extension redpill-misc platform ds3622xsp_42661
[#] Unpacking files from /home/tc/redpill-load/custom/extensions/redpill-misc/ds3622xsp_42661/lrzsz.tar.gz to /home/tc/redpill-load/custom/extensions/redpill-misc/ds3622xsp_42661/...  [OK]
[#] Checking runtime for required tools... [OK]
[#] Updating extensions...

[#] Checking runtime for required tools... [OK]
[#] Adding new extension from https://github.com/pocopico/rp-ext/raw/main/redpill-boot-wait/rpext-index.json...
[#] Downloading remote file https://github.com/pocopico/rp-ext/raw/main/redpill-boot-wait/rpext-index.json to /home/tc/redpill-load/custom/extensions/_new_ext_index.tmp_json
################################################################################################################################################# 100.0%
[OK]
[#] ========================================== redpill-boot-wait ==========================================
[#] Extension name: RedPill Bootwait
[#] Description: Simple extension which stops the execution early waiting for the boot device to appear
[#] To get help visit: https://github.com/pocopico/rp-ext/redpill-boot-wait
[#] Extension preparer/packer: https://github.com/pocopico/rp-ext/tree/main/redpill-boot-wait
[#] Update URL: https://raw.githubusercontent.com/pocopico/rp-ext/master/redpill-boot-wait/rpext-index.json
[#] Platforms supported: ds1621p_42218 ds918p_41890 dva3221_42661 ds3617xs_42621 ds3617xs_42218 ds920p_42661 ds918p_42661 ds1621p_42661 ds918p_25556 dva3221_42218 ds3615xs_42661 ds3622xsp_42661 ds2422p_42661 ds3622xsp_42218 ds2422p_42218 dva3221_42621 ds3615xs_41222 ds918p_42621 ds3617xs_42661 ds3615xs_25556 ds920p_42218 ds920p_42621 ds920p_42550 ds918p_42218 ds2422p_42621 ds1621p_42621 ds3615xs_42621 ds3615xs_42218 ds3622xsp_42621
[#] =======================================================================================

[#] Checking runtime for required tools... [OK]
[#] Updating dodo-dk.acpid extension...
[#] Downloading remote file https://raw.githubusercontent.com/dodo-dk/rp-ext/main/acpid/rpext-index.json to /home/tc/redpill-load/custom/extensions/_new_ext_index.tmp_json
################################################################################################################################################# 100.0%

[#] Extension dodo-dk.acpid index is already up to date
[#] Updating pocopico.mpt3sas extension...
[#] Downloading remote file https://raw.githubusercontent.com/pocopico/rp-ext/master/mpt3sas/rpext-index.json to /home/tc/redpill-load/custom/extensions/_new_ext_index.tmp_json
################################################################################################################################################# 100.0%

[#] Extension pocopico.mpt3sas index is already up to date
[#] Updating pocopico.v9fs extension...
[#] Downloading remote file https://raw.githubusercontent.com/pocopico/rp-ext/master/v9fs/rpext-index.json to /home/tc/redpill-load/custom/extensions/_new_ext_index.tmp_json
################################################################################################################################################# 100.0%

[#] Extension pocopico.v9fs index is already up to date
[#] Updating redpill-boot-wait extension...
[#] Downloading remote file https://raw.githubusercontent.com/pocopico/rp-ext/master/redpill-boot-wait/rpext-index.json to /home/tc/redpill-load/custom/extensions/_new_ext_index.tmp_json
################################################################################################################################################# 100.0%

[#] Extension redpill-boot-wait index is already up to date
[#] Updating redpill-misc extension...
[#] Downloading remote file https://github.com/pocopico/redpill-load/raw/develop/redpill-misc/rpext-index.json to /home/tc/redpill-load/custom/extensions/_new_ext_index.tmp_json
################################################################################################################################################# 100.0%
[OK]
[#] Checking runtime for required tools... [OK]
[#] Updating ds3622xsp_42661 platforms extensions...
[#] Downloading remote file https://raw.githubusercontent.com/dodo-dk/rp-ext/main/acpid/releases/ds3622xsp_42661.json to /home/tc/redpill-load/custom/extensions/_ext_new_rcp.tmp_json
################################################################################################################################################# 100.0%

[#] Filling-in newly downloaded recipe for extension dodo-dk.acpid platform ds3622xsp_42661
[#] Downloading remote file https://raw.githubusercontent.com/dodo-dk/rp-ext/main/acpid/src/install-acpid.sh to /home/tc/redpill-load/custom/extensions/dodo-dk.acpid/ds3622xsp_42661/install-acpid.sh
################################################################################################################################################# 100.0%
[#] Verifying /home/tc/redpill-load/custom/extensions/dodo-dk.acpid/ds3622xsp_42661/install-acpid.sh file... [OK]
[#] Downloading remote file https://raw.githubusercontent.com/dodo-dk/rp-ext/main/acpid/releases/acpid.tar.gz to /home/tc/redpill-load/custom/extensions/dodo-dk.acpid/ds3622xsp_42661/acpid.tar.gz
################################################################################################################################################# 100.0%
[#] Verifying /home/tc/redpill-load/custom/extensions/dodo-dk.acpid/ds3622xsp_42661/acpid.tar.gz file... [OK]
[#] Downloading remote file https://raw.githubusercontent.com/dodo-dk/rp-ext/main/acpid/releases/broadwellnk.tgz to /home/tc/redpill-load/custom/extensions/dodo-dk.acpid/ds3622xsp_42661/broadwellnk.tgz
################################################################################################################################################# 100.0%
[#] Verifying /home/tc/redpill-load/custom/extensions/dodo-dk.acpid/ds3622xsp_42661/broadwellnk.tgz file... [OK]
[#] Unpacking files from /home/tc/redpill-load/custom/extensions/dodo-dk.acpid/ds3622xsp_42661/broadwellnk.tgz to /home/tc/redpill-load/custom/extensions/dodo-dk.acpid/ds3622xsp_42661/... [OK]
[#] Downloading remote file https://raw.githubusercontent.com/dodo-dk/rp-ext/main/acpid/src/check-button.sh to /home/tc/redpill-load/custom/extensions/dodo-dk.acpid/ds3622xsp_42661/check-button.sh
################################################################################################################################################# 100.0%
[#] Verifying /home/tc/redpill-load/custom/extensions/dodo-dk.acpid/ds3622xsp_42661/check-button.sh file... [OK]
[#] Successfully processed recipe for extension dodo-dk.acpid platform ds3622xsp_42661
[#] Downloading remote file https://raw.githubusercontent.com/pocopico/rp-ext/master/mpt3sas/releases/ds3622xsp_42218.json to /home/tc/redpill-load/custom/extensions/_ext_new_rcp.tmp_json
################################################################################################################################################# 100.0%
[#] Filling-in newly downloaded recipe for extension pocopico.mpt3sas platform ds3622xsp_42661
[#] Downloading remote file https://raw.githubusercontent.com/pocopico/rp-ext/master/mpt3sas/releases/mpt3sas-4.4.180plus-broadwellnk.tgz to /home/tc/redpill-load/custom/extensions/pocopico.mpt3sas/ds3622xsp_42661/mpt3sas-4.4.180plus-broadwellnk.tgz
################################################################################################################################################# 100.0%
[#] Verifying /home/tc/redpill-load/custom/extensions/pocopico.mpt3sas/ds3622xsp_42661/mpt3sas-4.4.180plus-broadwellnk.tgz file... [OK]
[#] Unpacking files from /home/tc/redpill-load/custom/extensions/pocopico.mpt3sas/ds3622xsp_42661/mpt3sas-4.4.180plus-broadwellnk.tgz to /home/tc/redpill-load/custom/extensions/pocopico.mpt3sas/ds3622xsp_42661/... [OK]
[#] Downloading remote file https://raw.githubusercontent.com/pocopico/rp-ext/master/mpt3sas/src/check-mpt3sas.sh to /home/tc/redpill-load/custom/extensions/pocopico.mpt3sas/ds3622xsp_42661/check-mpt3sas.sh
################################################################################################################################################# 100.0%
[#] Verifying /home/tc/redpill-load/custom/extensions/pocopico.mpt3sas/ds3622xsp_42661/check-mpt3sas.sh file... [OK]
[#] Successfully processed recipe for extension pocopico.mpt3sas platform ds3622xsp_42661
[#] Downloading remote file https://raw.githubusercontent.com/pocopico/rp-ext/master/v9fs/releases/ds3622xsp_42218.json to /home/tc/redpill-load/custom/extensions/_ext_new_rcp.tmp_json
################################################################################################################################################# 100.0%
[#] Filling-in newly downloaded recipe for extension pocopico.v9fs platform ds3622xsp_42661
[#] Downloading remote file https://raw.githubusercontent.com/pocopico/rp-ext/master/v9fs/releases/v9fs-4.4.180plus-broadwellnk.tgz to /home/tc/redpill-load/custom/extensions/pocopico.v9fs/ds3622xsp_42661/v9fs-4.4.180plus-broadwellnk.tgz
################################################################################################################################################# 100.0%
[#] Verifying /home/tc/redpill-load/custom/extensions/pocopico.v9fs/ds3622xsp_42661/v9fs-4.4.180plus-broadwellnk.tgz file... [OK]
[#] Unpacking files from /home/tc/redpill-load/custom/extensions/pocopico.v9fs/ds3622xsp_42661/v9fs-4.4.180plus-broadwellnk.tgz to /home/tc/redpill-load/custom/extensions/pocopico.v9fs/ds3622xsp_42661/... [OK]
[#] Downloading remote file https://raw.githubusercontent.com/pocopico/rp-ext/master/v9fs/src/check-v9fs.sh to /home/tc/redpill-load/custom/extensions/pocopico.v9fs/ds3622xsp_42661/check-v9fs.sh
################################################################################################################################################# 100.0%
[#] Verifying /home/tc/redpill-load/custom/extensions/pocopico.v9fs/ds3622xsp_42661/check-v9fs.sh file... [OK]
[#] Successfully processed recipe for extension pocopico.v9fs platform ds3622xsp_42661
[#] Downloading remote file https://github.com/RedPill-TTG/redpill-boot-wait/raw/master/recipes/universal.json to /home/tc/redpill-load/custom/extensions/_ext_new_rcp.tmp_json
################################################################################################################################################# 100.0%
[#] Filling-in newly downloaded recipe for extension redpill-boot-wait platform ds3622xsp_42661
[#] Downloading remote file https://raw.githubusercontent.com/RedPill-TTG/redpill-boot-wait/master/src/boot-wait.sh to /home/tc/redpill-load/custom/extensions/redpill-boot-wait/ds3622xsp_42661/boot-wait.sh
################################################################################################################################################# 100.0%
[#] Verifying /home/tc/redpill-load/custom/extensions/redpill-boot-wait/ds3622xsp_42661/boot-wait.sh file... [OK]
[#] Successfully processed recipe for extension redpill-boot-wait platform ds3622xsp_42661
[#] Downloading remote file https://github.com/pocopico/redpill-load/raw/develop/redpill-misc/recipes/universal.json to /home/tc/redpill-load/custom/extensions/_ext_new_rcp.tmp_json
################################################################################################################################################# 100.0%
[#] Extension redpill-misc for ds3622xsp_42661 platform is already up to date
[#] Verifying /home/tc/redpill-load/custom/extensions/redpill-boot-wait/ds3622xsp_42661/boot-wait.sh file... [OK]
[#] Updating extensions... [OK]
[#] Verifying /home/tc/redpill-load/cache/ds3622xsp_42661.pat file... [OK]
[#] Unpacking /home/tc/redpill-load/cache/ds3622xsp_42661.pat file to /home/tc/redpill-load/build/1653280559/pat-ds3622xsp_42661-unpacked... [OK]
[#] Verifying /home/tc/redpill-load/build/1653280559/pat-ds3622xsp_42661-unpacked/zImage file... [OK]
[#] Patching /home/tc/redpill-load/build/1653280559/pat-ds3622xsp_42661-unpacked/zImage to /home/tc/redpill-load/build/1653280559/zImage-patched... [OK]
[#] Verifying /home/tc/redpill-load/build/1653280559/pat-ds3622xsp_42661-unpacked/rd.gz file... [OK]
[#] Unpacking /home/tc/redpill-load/build/1653280559/pat-ds3622xsp_42661-unpacked/rd.gz file to /home/tc/redpill-load/build/1653280559/rd-ds3622xsp_42661-unpacked... [OK]
[#] Apply patches to /home/tc/redpill-load/build/1653280559/rd-ds3622xsp_42661-unpacked... [OK]
[#] Patching config files in ramdisk... [OK]
[#] Adding OS config patching... [OK]
[#] Repacking ramdisk to /home/tc/redpill-load/build/1653280559/rd-patched-ds3622xsp_42661.gz... [OK]
[#] Bundling extensions... [#] Checking runtime for required tools... [OK]
[#] Dumping ds3622xsp_42661 platform extensions to /home/tc/redpill-load/build/1653280559/custom-initrd/exts... [OK]
[#] Packing custom ramdisk layer to /home/tc/redpill-load/build/1653280559/custom.gz... [OK]
[#] Generating GRUB config... [OK]
[#] Creating loader image at loader.img... [OK]
[#] Cleaning up... [OK]
Mounting /dev/sda1 to localdiskp1
/dev/sda2 localdiskp2
Creating tinycore entry
menuentry 'Tiny Core Image Build' {
        savedefault
        set root=(hd0,msdos3)
        echo Loading Linux...
        linux /vmlinuz64 loglevel=3 cde waitusb=5 vga=791
        echo Loading initramfs...
        initrd /corepure64.gz
        echo Booting TinyCore for loader creation
}
Entries in Localdisk bootloader :
=======================================================================
menuentry 'RedPill DS3622xs v7.1.0-42661 Beta (USB, Verbose)' {
menuentry 'RedPill DS3622xs v7.1.0-42661 Beta (SATA, Verbose)' {
menuentry 'Tiny Core Image Build' {
Machine is VIRTUAL Hypervisor=KVM
Setting default boot entry to SATA
Caching files for future use
Found /home/tc/redpill-load/cache/ds3622xsp_42661.pat, copying to cache directory : /mnt/sda3/auxfiles
Saving user session for future use. Saving current extensions  -> OK !
Saving current user_config.json  -> OK !
tc@box:~$ ./rploader.sh clean now; rm -rf /mnt/sdb3/auxfiles; rm -rf /home/tc/custom-module; ./rploader.sh backup now;
Clearing local redpill files
Please make sure you are using the latest 1GB img before using backup option
Current /home/tc size is 348M , try to keep it less than 1GB as it might not fit into your image
Should i update the sda with your current files [Yy/Nn]
y
Backing up home files to sda : Backing up files to /mnt/sda3//mydata.tgz
Done.

tc@box:~$ sudo reboot
tc@box:~$

 

 

Edited by phone guy
Link to comment
Share on other sites

Posted (edited)
tc@box:~$ ./rploader.sh satamap now
Machine is VIRTUAL Hypervisor=KVM

Found "00:1f.2 Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (rev 02)"
0 drive(s) connected. Reserving and disabling KVM q35 hardware model bogus controller

Recommended settings:
SataPortMap=1
DiskIdxMap=10

Should i update the user_config.json with these values ? [Yy/Nn] y

This is exactly as expected as the bogus controller must have a satamap port assignment in order not to kernel panic.

 

Edited by flyride
Link to comment
Share on other sites

Posted (edited)
4 hours ago, flyride said:


tc@box:~$ ./rploader.sh satamap now
Machine is VIRTUAL Hypervisor=KVM

Found "00:1f.2 Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (rev 02)"
0 drive(s) connected. Reserving and disabling KVM q35 hardware model bogus controller

Recommended settings:
SataPortMap=1
DiskIdxMap=10

Should i update the user_config.json with these values ? [Yy/Nn] y

This is exactly as expected as the bogus controller must have a satamap port assignment in order not to kernel panic.

 

Just for the record, on rploader 0714 on this same system doing satamap used to load (before) a little application and saw 3 SATA controllers before. 2 from proxmox and the last being the hba itself. This time it only saw 1 data controller and it was not the hba. Just getting you know 👍

Edited by phone guy
Link to comment
Share on other sites

3 hours ago, phone guy said:

Just for the record, on rploader 0714 on this same system doing satamap used to load (before) a little application and saw 3 SATA controllers before. 2 from proxmox and the last being the hba itself. This time it only saw 1 data controller and it was not the hba. Just getting you know 👍

Yes, that is also correct.  It loaded the scsi module and displayed the scsi controller.  We have determined that satamap/diskidxmap don't affect SCSI at all, so there is no point in asking you about it.

Link to comment
Share on other sites

Thank you for this report. (investigation?  study? I'm not sure what is appropriate word :-) )

I really respect and appreciate your contributions, as always.

 

Yesterday, I finally upgraded my main machine (ESXi 7, LSI SAS(+Chipset SATA) pass through, DSM6.1x DS3615xs) to DSM7 DS3622xs+. 

(I decided to do with your architecture comparison table post, and successful update of 2 sub DSM6.2x VMs before that.)

 

Today, I tried to fix this gap problem and found SasIdxMap doesn't work anymore,

and I tried many tweaking SataPortMap / DiskIdxMap and I conclude I couldn't avoid this.

(I'm satisfied I can cofirm my conclusion is correct with your post.)

 

 

Today I even tried booting from USB within ESXi VM.

 

Changing boot setting to EFI, TCRP can boot from USB.
(Recently, VMware support USB boot from EFI firmware.)

 

But, I don't know why, booting DSM from TCRP Boot USB (or EFI ?) doesn't work :-(

(I also tried Plop Boot Manager which(at least PBM5) USB boot can be worked with a bit older VMware, but no luck.(I tried all of them))

So it seems it can't be mitigated with USB boot.

 

I'm sure it's not proper way booting from USB, but I think I should post my struggle today.  :-)

 

p.s.

By the way, it seems I should increase maxdisks.  

 

Is it safe to edit /etc/{,defaults/}synoboot.cfg directly ?
Is this persists after DSM update ?

 

I tried to search around, but couldn't find yet.

(It seems to be, but not clear.)

Link to comment
Share on other sites

Thank you for the independent confirmation of the HBA behavior.  There is a lot of evidence this has been observed by others, but testing it to the point of understanding was quite laborious. As @pocopico confirmed by checking BIOS strings, SasIdxMap no longer exists in the current DSM builds.

 

ESXi does not, and has never supported USB virtual image boot. This is why Jun created the ESXi option in their loader, and nothing has changed with RedPill (except calling the strategy SATABOOT).

 

If you want to modify MaxDIsks, do it in user_config.json.  You can also change internalportcfg, usbportcfg and esataportcfg there too.

Link to comment
Share on other sites

Posted (edited)
59 minutes ago, flyride said:

ESXi does not, and has never supported USB virtual image boot.

Ah, yes.
I have to insert *real* USB stick and attach that to the VM.

(I didn't connect VM to serial console, but seems to stop booting after kernel loading. )
 

59 minutes ago, flyride said:

If you want to modify MaxDIsks, do it in user_config.json.  You can also change internalportcfg, usbportcfg and esataportcfg there too.

OK, I'll try.

But, I thought rploader.sh(or my operation mistake) didn't seem to apply user_config.json correctly.

(Default settings of maxdisks was 16 (I didn't modified), but my DSM7 VM maxdisk was 12 and couldn't find My 13th disk.

So I have to rebuild(resync?) array now.:(

 

Edited by benok
Added timing of the kernel boot stops
Link to comment
Share on other sites

45 minutes ago, flyride said:

You can also change internalportcfg, usbportcfg and esataportcfg there too.

Might be these are the reason ? 

 

BTW, I thnk I'll have to read rploader.sh throughly.

I want to know all the parameters supported by user_config.json.

Link to comment
Share on other sites

On 5/28/2022 at 12:07 AM, benok said:

But, I thought rploader.sh(or my operation mistake) didn't seem to apply user_config.json correctly.

(Default settings of maxdisks was 16 (I didn't modified), but my DSM7 VM maxdisk was 12 and couldn't find My 13th disk.

Sorry, I confirmed maxdisks is set to 16 correctly to synoboot.conf, and 13th disks can be used.

Parhaps this was my mistake. (I don't know why the last drive of my array was not detected at that time, anyway.)

 

But, figure of the "Drive Information" at the overview of Storage Manager is still 12.

Is there any known hacks to fix this?

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.   Paste as plain text instead

  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.

 Share

×
×
  • Create New...