Jump to content
XPEnology Community

TinyCore RedPill Loader (TCRP)


pocopico

Recommended Posts

7 minutes ago, pocopico said:

 

We need a microcontroller hardware (ESP32/ESP8266) and a person who is willing to code for it. Hooks exist already on redpill-lkm

I have some ESP32 and ESP8266. My programming skills are not the best. How can i help and with what?

Link to comment
Share on other sites

Hello everyone, I'm sorry to write through a translator because from Ukraine, maybe something is not written so correctly.

I assembled a server based on HP Prodesk 600 G3 SFF

On the board there is a m2 ssd connector, I inserted 1 disk there, and also bought a PCI m2 card for 2 disks, in total I got 3 NVME disks, 2 disks I made as a cache, 3 disks shows me only can be used for cache. But I would like to use it as a simple SSD drive for VM Vare.
It is possible to do something so that it is not recognized as a cache.

DS 920

Link to comment
Share on other sites

5 hours ago, dodo-dk said:

 

With VirtIO i have : (Proxmox <-> DSM)


[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  31.3 GBytes  26.9 Gbits/sec    0             sender
[  5]   0.00-10.04  sec  31.3 GBytes  26.8 Gbits/sec                  receiver

 

If you have other VMs in Proxmox that connects to DSM over Network, VirtIO is much faster.

Thanks for information. I made test with E1000 card: (Proxmox <-> DSM)

[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  6.72 GBytes  5.78 Gbits/sec    0             sender
[  5]   0.00-10.00  sec  6.72 GBytes  5.77 Gbits/sec                  receiver

 

Virtio is really faster, but I think E1000 is enough also :)

 

Maybe i make now loader with virtio in afternoon, I will test it also...

 

Link to comment
Share on other sites

11 minutes ago, Davidov said:

Hello everyone, I'm sorry to write through a translator because from Ukraine, maybe something is not written so correctly.

I assembled a server based on HP Prodesk 600 G3 SFF

On the board there is a m2 ssd connector, I inserted 1 disk there, and also bought a PCI m2 card for 2 disks, in total I got 3 NVME disks, 2 disks I made as a cache, 3 disks shows me only can be used for cache. But I would like to use it as a simple SSD drive for VM Vare.
It is possible to do something so that it is not recognized as a cache.

DS 920

 

Interesting setup, you could try to set the internal_slot@1 to the pci values of your m2 data drives.

 

For instance

 

tc@box:~$ udevadm info --query path --name nvme0n1

 

/devices/pci0000:00/0000:00:16.0/0000:0b:00.0/nvme/nvme0/nvme0n1
 

tc@box:~$ udevadm info --query path --name nvme0n1 | awk -F "\/" '{print $4 ":" $5 }' | awk -F ":" '{print $2 ":" $3 "," $6}' | sed 's/,*$//'
 

00:16.0,00.0
 

        internal_slot@1 {
                protocol_type = "sata";
                power_pin_gpio = <0x14 0x0>;
                detect_pin_gpio = <0x23 0x1>;
                led_type = "lp3943";

                ahci {
pcie_root = "00:16.0,00.0";
ata_port = <0x0>;

                };

                led_green {
                        led_name = "syno_led0";
                };

                led_orange {
                        led_name = "syno_led1";
                };
        };
 

 

 

Link to comment
Share on other sites

2 минуты назад, pocopico сказал:

 

Interesting setup, you could try to set the internal_slot@1 to the pci values of your m2 data drives.

 

For instance

 

tc@box:~$ udevadm info --query path --name nvme0n1

 

/devices/pci0000:00/0000:00:16.0/0000:0b:00.0/nvme/nvme0/nvme0n1
 

tc@box:~$ udevadm info --query path --name nvme0n1 | awk -F "\/" '{print $4 ":" $5 }' | awk -F ":" '{print $2 ":" $3 "," $6}' | sed 's/,*$//'
 

00:16.0,00.0
 

        internal_slot@1 {
                protocol_type = "sata";
                power_pin_gpio = <0x14 0x0>;
                detect_pin_gpio = <0x23 0x1>;
                led_type = "lp3943";

                ahci {
pcie_root = "00:16.0,00.0";
ata_port = <0x0>;

                };

                led_green {
                        led_name = "syno_led0";
                };

                led_orange {
                        led_name = "syno_led1";
                };
        };
 

 

 

Thanks, tell me how to get there step by step to edit

Link to comment
Share on other sites

1 minute ago, Davidov said:

Thanks, tell me how to get there step by step to edit

 

You need to edit the /home/tc/ds920p.dts and then execute :

 

/home/tc/dtc -I dts -O dtb ds920p.dts > ds920p.dtb

 

Finally copy that edited file in redpill-load/custom/extensions/redpill-dtb/ds920p_42661/model_ds920p.dtb 

 

and execute :

 

./rploader.sh build geminilake-7.1.0-42661 manual

 

 

  • Like 1
Link to comment
Share on other sites

22 hours ago, Peter Suh said:

There seems to be an issue that has changed significantly in the DS920+ build since I fixed 2 bugs with @pocopico yesterday.

 

It seems that only one simple typo ',' in the "rpext-index.json" file caused abnormal builds on the entire platform for a few days.

 

Another is that there was a typo in the USB port mapping part within the DTC (patchdtc function), so it did not work at all.

 

The USB port mapping seems to prevent the boot-wait from taking a timeout for 30 seconds and falling into an error.

If the port mapping is good, it usually induces a normal response within 4 to 5 seconds.

 

Because of these two things, DTC seems to be going pretty stable.

 

DS920+ is looking for a supported Intel CPU generation.

 

Everything I've experienced seems to be fine up to Haswell.

 

Yesterday, there was a user report that the 3rd generation was successful, so I plan to test this part more.

 

 

 

 

In Intel 3rd generation, DS920+ can also be installed.

 

https://xpenology.com/forum/topic/60130-redpill-tinycore-loader-installation-guide-for-dsm-71-baremetal/?do=findComment&comment=277494

 

In the above, there is a case where the intel 3rd generation also tried DS920+ and succeeded.

I also did an installation test with the intel 3rd generation today.

 

I tried it with the Lenovo m72e Tiny Intel 3rd generation i5-3470T, which everyone has.

As expected, DS918+ was also unable to recognize NIC.

However, the DS920+ is recognized by the R8169 NIC driver.
It seems to have become more flexible for CPU generations since using DTC.

 

I got a 55% error when installing DSM, so I couldn't upload a finished shot, but there are likely to be enough successful cases.

Looking at /var/log, if the installation is successful, boot-wait, which responds within 4-5 seconds, drops to an error after a 30-second timeout.
At least in this case, the DSM installation was not successful.

 

TC automatically sets the USB device port to 1-3, 2-3, etc.
It feels like there is some sort of incorrect mapping to the ds920p.dts file.

In Haswell tested yesterday, whether this mapping matched well or not, there is no boot-wait timeout, and both ds920+ and ds1621+ were installed well.

Edited by Peter Suh
Link to comment
Share on other sites

I tired again 920+ 7.1 install on proxmox.

I made loader, boot, I show and upload pat file. It goed to 100% install and reboot.

It starts counting down from 10 minutes. And counting and counting... And 00:00 And nothing happend.

 

Has anyone already installed 920+ on proxmox?

Link to comment
Share on other sites

17 hours ago, Dvalin21 said:

Has anyone written steps to do the build in Virtual box?@Peter Suh

Sent from my HD1925 using Tapatalk
 

To setup in Virtualbox I followed these steps:

1- create a new VM.

s1.thumb.png.ccb526d99b5b9e5445e0d5a7e12e7d65.png
s2.thumb.png.a66bf79dea48847b52574090475cb31c.png
s3.thumb.png.99a82416cce44677fa42abf6dc75a56f.png
 

 

2- From "tinycore-redpill", use the provided vmdk file "tinycore-redpill.v0.4.6.vmdk" and copy it to to the VM Directory.

3- Use the copied file as SATA HDD.

s5.thumb.png.10b65e82061cfc50e613bfcde6502943.png

4- Add at least one more SATA HDD.

s6.thumb.png.253758cabfaab6fe7661cce46870e1b6.png

 

5- Start the VM.

 

 

6- SSh into the VM and run the following commands:

 - ./rploader.sh update now

 -  ./rploader.sh fullupgrade now

 -  ./rploader.sh serialgen DS3622xs+

 -  ./rploader.sh satamap now 

 - ./rploader.sh identifyusb now NOT NEEDED FOR VIRTUALBOX.

 

7- Add EXT for "e1000":

 - ./rploader.sh ext broadwellnk-7.1.0-42661 add https://raw.githubusercontent.com/pocopico/rp-ext/master/e1000/rpext-index.json

 

8- Build: 

 - ./rploader.sh build broadwellnk-7.1.0-42661 auto

 

9- check and copy the MAC address in the "user_config.json" file:

 - cat user_config.json

 

10- Backup, Clean and poweroff the VM.

 - ./rploader.sh backup now

 - ./rploader.sh clean now

- sudo poweroff

 

11- Change the MAC address for the VM with the address copied from the "user_config.jsin" file.

s4.thumb.png.77baa4e32f51d46849e46f79779fc38b.png

 

 

12- Start the VM and complete setup.

 

 

  • Like 5
  • Thanks 1
Link to comment
Share on other sites

9 hours ago, dodo-dk said:

 

Install on DSM the Package SynoCli Monitor Tools from SynoCommunity.

Than login over SSH to DSM and execute the command: iperf3 -s

It shows now the listening Port.

 

Now login over SSH to Proxmox and execute the command iperf3 -c xxx.xxx.xxx.xxx (IP from DSM)

On Proxmox you need the Package iperf3 too (apt update && apt install iperf3)

Thats all.

Since virtio is faster than e1000 nic in proxmox/dsm, would creating bridge to bond multiple nic in proxmox be beneficial?

I use LAG on my real synology boxes, bonding all 4 1gbe nic to managed switch using IEEE 802.3ad Dynamic link aggregation.

I wanted to create a similar bond in proxmox, but obviously at the proxmox level to distribute to benefit of LAG to all vm's running, including DSM.

Do you have instructions for that in ProxMox?  and am I correct in my assumption? That would benefit network bandwidth for all vm's running on proxmox?

Link to comment
Share on other sites

13 hours ago, dodo-dk said:

 

Install on DSM the Package SynoCli Monitor Tools from SynoCommunity.

Than login over SSH to DSM and execute the command: iperf3 -s

It shows now the listening Port.

 

Now login over SSH to Proxmox and execute the command iperf3 -c xxx.xxx.xxx.xxx (IP from DSM)

On Proxmox you need the Package iperf3 too (apt update && apt install iperf3)

Thats all.

Huge difference in network speed between e1000 vs VirtIO

E1000 nic set in Proxmox

# e1000 nic in proxmox with e1000/e drivers in DSM
# ./rploader.sh ext broadwellnk-7.1.0-42661 add https://raw.githubusercontent.com/pocopico/rp-ext/master/e1000/rpext-index.json
# ./rploader.sh ext broadwellnk-7.1.0-42661 add https://raw.githubusercontent.com/pocopico/rp-ext/master/e1000e/rpext-index.json
# I added had to both to get nic to communicate?
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   439 MBytes  3.68 Gbits/sec    0    816 KBytes
[  5]   1.00-2.00   sec   485 MBytes  4.07 Gbits/sec   19   1.26 MBytes
[  5]   2.00-3.00   sec   508 MBytes  4.26 Gbits/sec   14   1.14 MBytes
[  5]   3.00-4.00   sec   516 MBytes  4.33 Gbits/sec   17   1.03 MBytes
[  5]   4.00-5.00   sec   510 MBytes  4.28 Gbits/sec    0   1.34 MBytes
[  5]   5.00-6.00   sec   488 MBytes  4.09 Gbits/sec   24   1.22 MBytes
[  5]   6.00-7.00   sec   409 MBytes  3.43 Gbits/sec  151   1.14 MBytes
[  5]   7.00-8.00   sec   505 MBytes  4.24 Gbits/sec   25   1.01 MBytes
[  5]   8.00-9.00   sec   480 MBytes  4.03 Gbits/sec    0   1.21 MBytes
[  5]   9.00-10.00  sec   440 MBytes  3.69 Gbits/sec    0   1.21 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  4.67 GBytes  4.01 Gbits/sec  250             sender
[  5]   0.00-10.00  sec  4.66 GBytes  4.00 Gbits/sec                  receiver

 

VirtIO nic set in proxmox

#VirtIO nic set in Proxmox VirtIO drivers in DSM
# ./rploader.sh ext broadwellnk-7.1.0-42661 add https://raw.githubusercontent.com/pocopico/redpill-load/master/redpill-virtio/rpext-index.json
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  3.06 GBytes  26.3 Gbits/sec  141    868 KBytes
[  5]   1.00-2.00   sec  3.08 GBytes  26.5 Gbits/sec    1    868 KBytes
[  5]   2.00-3.00   sec  3.04 GBytes  26.1 Gbits/sec    0    868 KBytes
[  5]   3.00-4.00   sec  3.03 GBytes  26.0 Gbits/sec    2    868 KBytes
[  5]   4.00-5.00   sec  3.04 GBytes  26.1 Gbits/sec    1    868 KBytes
[  5]   5.00-6.00   sec  3.03 GBytes  26.1 Gbits/sec    0    868 KBytes
[  5]   6.00-7.00   sec  3.04 GBytes  26.1 Gbits/sec    0    868 KBytes
[  5]   7.00-8.00   sec  3.03 GBytes  26.1 Gbits/sec    0    868 KBytes
[  5]   8.00-9.00   sec  3.00 GBytes  25.7 Gbits/sec    0    868 KBytes
[  5]   9.00-10.00  sec  2.93 GBytes  25.2 Gbits/sec    0   1020 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  30.3 GBytes  26.0 Gbits/sec  145             sender
[  5]   0.00-10.00  sec  30.3 GBytes  26.0 Gbits/sec                  receiver

 

Thank You! @RedCat@IG-88@dodo-dk

Edited by phone guy
  • Like 1
Link to comment
Share on other sites

7 hours ago, techfriend63 said:

To setup in Virtualbox I followed these steps:

1- create a new VM.

s1.thumb.png.ccb526d99b5b9e5445e0d5a7e12e7d65.png
s2.thumb.png.a66bf79dea48847b52574090475cb31c.png
s3.thumb.png.99a82416cce44677fa42abf6dc75a56f.png
 

 

2- From "tinycore-redpill", use the provided vmdk file "tinycore-redpill.v0.4.6.vmdk" and copy it to to the VM Directory.

3- Use the copied file as SATA HDD.

s5.thumb.png.10b65e82061cfc50e613bfcde6502943.png

4- Add at least one more SATA HDD.

s6.thumb.png.253758cabfaab6fe7661cce46870e1b6.png

 

5- Start the VM.

 

 

6- SSh into the VM and run the following commands:

 - ./rploader.sh update now

 -  ./rploader.sh fullupgrade now

 -  ./rploader.sh serialgen DS3622xs+

 -  ./rploader.sh satamap now 

 - ./rploader.sh identifyusb now NOT NEEDED FOR VIRTUALBOX.

 

7- Add EXT for "e1000":

 - ./rploader.sh ext broadwellnk-7.1.0-42661 add https://raw.githubusercontent.com/pocopico/rp-ext/master/e1000/rpext-index.json

 

8- Build: 

 - ./rploader.sh build broadwellnk-7.1.0-42661 auto

 

9- check and copy the MAC address in the "user_config.json" file:

 - cat user_config.json

 

10- Backup, Clean and poweroff the VM.

 - ./rploader.sh backup now

 - ./rploader.sh clean now

- sudo poweroff

 

11- Change the MAC address for the VM with the address copied from the "user_config.jsin" file.

s4.thumb.png.77baa4e32f51d46849e46f79779fc38b.png

 

 

12- Start the VM and complete setup.

 

 

 

It's an installation guide that I really needed.

If only the post remains like this, it will be forgotten later.

Like me, why don't you register this post as a separate topic in the tutorial & guide?

The new topic will be officially registered after days of administrative approval.

 

p.s :

- ./rploader.sh build broadwellnk-7.1.0-42661 auto

The last auto is a non-existent option.
It's the same effect as writing nothing down.

 

 

 

Edited by Peter Suh
Link to comment
Share on other sites

15 hours ago, techfriend63 said:

To setup in Virtualbox I followed these steps:

1- create a new VM.

s1.thumb.png.ccb526d99b5b9e5445e0d5a7e12e7d65.png
s2.thumb.png.a66bf79dea48847b52574090475cb31c.png
s3.thumb.png.99a82416cce44677fa42abf6dc75a56f.png
 

 

2- From "tinycore-redpill", use the provided vmdk file "tinycore-redpill.v0.4.6.vmdk" and copy it to to the VM Directory.

3- Use the copied file as SATA HDD.

s5.thumb.png.10b65e82061cfc50e613bfcde6502943.png

4- Add at least one more SATA HDD.

s6.thumb.png.253758cabfaab6fe7661cce46870e1b6.png

 

5- Start the VM.

 

 

6- SSh into the VM and run the following commands:

 - ./rploader.sh update now

 -  ./rploader.sh fullupgrade now

 -  ./rploader.sh serialgen DS3622xs+

 -  ./rploader.sh satamap now 

 - ./rploader.sh identifyusb now NOT NEEDED FOR VIRTUALBOX.

 

7- Add EXT for "e1000":

 - ./rploader.sh ext broadwellnk-7.1.0-42661 add https://raw.githubusercontent.com/pocopico/rp-ext/master/e1000/rpext-index.json

 

8- Build: 

 - ./rploader.sh build broadwellnk-7.1.0-42661 auto

 

9- check and copy the MAC address in the "user_config.json" file:

 - cat user_config.json

 

10- Backup, Clean and poweroff the VM.

 - ./rploader.sh backup now

 - ./rploader.sh clean now

- sudo poweroff

 

11- Change the MAC address for the VM with the address copied from the "user_config.jsin" file.

s4.thumb.png.77baa4e32f51d46849e46f79779fc38b.png

 

 

12- Start the VM and complete setup.

 

 

 

Thanks to you, I succeeded in installing TCRP in Virtual BOX on my MacBook. There was no problem until the loader was created
I didn't know how to get the ip of nic.
There was a phenomenon that the ip of dhcp increased by 1 whenever new mac was added
When adding virtual hdd, don't make it too small.
I think it was more than 24GB, but I don't know the exact figure.

 

175367339_2022-04-268_39_00.thumb.png.5275af158d99f45ef3e8d8497a5ce614.png1661571019_2022-04-268_36_44.png.83da3a2b78d514d4cce0f4edf6866f37.png2105107933_2022-04-268_36_10.png.90a70435eec856907b1ef017fcfcd4a7.png

 

Link to comment
Share on other sites

On 4/25/2022 at 11:12 AM, pocopico said:

 

We need a microcontroller hardware (ESP32/ESP8266) and a person who is willing to code for it. Hooks exist already on redpill-lkm

Are you wanting to periodically read in the startup time and then have the ESP send a magic packet at the appropriate time?

Link to comment
Share on other sites

1 hour ago, chickey said:

Are you wanting to periodically read in the startup time and then have the ESP send a magic packet at the appropriate time?

relays were mentioned in the original post so I believe the idea is a physical trigger of the power button at a scheduled time (presumably only if the machine is not already on) with some kind of communication (I'd venture serial comms) to the esp chip to set the automatic startup time... 

Link to comment
Share on other sites

7 hours ago, Peter Suh said:

Thanks to you, I succeeded in installing TCRP in Virtual BOX on my MacBook. There was no problem until the loader was created
I didn't know how to get the ip of nic.

the main thing with virtualbox war usually to have the same mac in the vm and the dsm config (aka grub.cfg)

i use ich9 as chipset as its a sata/ahci chipset by default, the rest is the same as with the vm config for 6.2.3

one sata controller, 1st disk is the loader

network is bridged and Intel 1000MT Desktop (thas the e1000 extension in the rp loader) i guess all the intel nic's in virtual box will work as they are all 8254x and thats all e1000 when it comes to the driver

its also handy to configure the com1 port to have access to the log when booting

 

image.png.0e858491b20fc9dcd7ba66ad3086b98d.png

 

putty as terminal

image.png.6c9550e6a28ada7cb5e0a57484f6caf1.png

 

 

 

  • Like 2
Link to comment
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

×
×
  • Create New...