Jump to content
XPEnology Community

TinyCore RedPill Loader (TCRP)


pocopico

Recommended Posts

7 minutes ago, Peter Suh said:

 

I was mistaken for a moment.
Even with baremetal Tinycore, loader build is possible as long as ssh connection is successful.
In the process, the SN and MAC addresses can be changed as much as you like.

 

The first time I mounted the P1, I assumed a normal Synology bootup with DSM booted up.
Which of the two is currently possible for accurate remote access?

 

Why is this curious
This is because it can be done without problems only by adjusting the default boot order in grub.cfg.

Thank you. I’m not sure I fully what you said above.


I can even rebuild the loader via ssh by mounting the synoboot from the usb and running the usual loader build commands?

that way I can convert the model and set the desired serial and Mac? 
 

at the next boot I would go through the dsm migration steps, correct? So all this should be possibly via ssh without direct physical access to the bare metal system? Thank you.

Link to comment
Share on other sites

14 minutes ago, alirz1 said:

Thank you. I’m not sure I fully what you said above.


I can even rebuild the loader via ssh by mounting the synoboot from the usb and running the usual loader build commands?

that way I can convert the model and set the desired serial and Mac? 
 

at the next boot I would go through the dsm migration steps, correct? So all this should be possibly via ssh without direct physical access to the bare metal system? Thank you.

 

 

Migration from DS3622xs+ to DS920+ is expected in the following order:

 

The following process is safe when IP can be predicted by fixing the three MAC addresses before the change, after the change, and the real mac in the router.
If you connect from outside, it is assumed that all three IPs are port-forwarded.
Both port 22 for SSH connection and port 5000 for DSM connection must be open.

 

1. SSH access to DS3622xs+ in DSM booting state, mount synoboot1 in /p1 folder, and modify grub.cfg file ( Default Boot to Tinycore [Boot entry index starts from 0.] )

2. Tinycore Boot

3. SSH access to Tinycore (Real MAC address and mapped IP are used)

4. DS920+ loader building after changing SN, MAC of user_config.json
   (After building the loader, the default boot is fixed to the loader)

5. After the change, connect to port 5000 with MAC and mapped IP and proceed with migration

6. After the migration process, connect to the DSM manager through the same IP port 5000

 

A scenario like this shouldn't even be the slightest mistake.
Am I missing something in this scenario?

  • Thanks 1
Link to comment
Share on other sites

21 minutes ago, Peter Suh said:

 

 

Migration from DS3622xs+ to DS920+ is expected in the following order:

 

The following process is safe when IP can be predicted by fixing the three MAC addresses before the change, after the change, and the real mac in the router.
If you connect from outside, it is assumed that all three IPs are port-forwarded.
Both port 22 for SSH connection and port 5000 for DSM connection must be open.

 

1. SSH access to DS3622xs+ in DSM booting state, mount synoboot1 in /p1 folder, and modify grub.cfg file ( Default Boot to Tinycore [Boot entry index starts from 0.] )

2. Tinycore Boot

3. SSH access to Tinycore (Real MAC address and mapped IP are used)

4. DS920+ loader building after changing SN, MAC of user_config.json
   (After building the loader, the default boot is fixed to the loader)

5. After the change, connect to port 5000 with MAC and mapped IP and proceed with migration

6. After the migration process, connect to the DSM manager through the same IP port 5000

 

A scenario like this shouldn't even be the slightest mistake.
Am I missing something in this scenario?

I think that makes sense. I guess i wasnt aware that i could ssh into the box in tinycore bootloader mode.

I also have full access to my remote router/firewall via VPN so i can always login there to see what IP tinycore will get with the new MAC. I"m really tempted to try this now. As long as the box keeps booting up i should be ok. Only a kernel panic would be disastrous but i have never seen that occur on my bare metal system on the build or loaders ive played with.

  • Like 1
Link to comment
Share on other sites

By the way a correction to my statement. Im looking to convert my ds3622 to ds918+ NOT ds920+.

 Im curious If convert my baremetal ds3622xs+ with 5 HDDs to a DS 918+. Would i only be able to use 4 disk drives as the real ds918 only has 4 drives or the umber of drives doesnt matter to the model? Thank you

Link to comment
Share on other sites

On 11/29/2022 at 12:37 AM, Peter Suh said:

 

 

Migration from DS3622xs+ to DS920+ is expected in the following order:

 

The following process is safe when IP can be predicted by fixing the three MAC addresses before the change, after the change, and the real mac in the router.
If you connect from outside, it is assumed that all three IPs are port-forwarded.
Both port 22 for SSH connection and port 5000 for DSM connection must be open.

 

1. SSH access to DS3622xs+ in DSM booting state, mount synoboot1 in /p1 folder, and modify grub.cfg file ( Default Boot to Tinycore [Boot entry index starts from 0.] )

2. Tinycore Boot

3. SSH access to Tinycore (Real MAC address and mapped IP are used)

4. DS920+ loader building after changing SN, MAC of user_config.json
   (After building the loader, the default boot is fixed to the loader)

5. After the change, connect to port 5000 with MAC and mapped IP and proceed with migration

6. After the migration process, connect to the DSM manager through the same IP port 5000

 

A scenario like this shouldn't even be the slightest mistake.
Am I missing something in this scenario?

@Peter SuhIm testing editing the grub in a VM. I can mount the synoboot1 partition and edit the grub default to be 3(tiny core loader). However at reboot its still on boot menu 2 and goes into DSM boot instead of tinycore loader.

Link to comment
Share on other sites

Im running into the follow error when trying to convert my existing ds3622 to ds918. Ive tried running ./rploader.sh clean. But the build process keeps running into this still

 

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
Found extractor locally cached
Copying required libraries to local lib directory
Linking lib to lib64
Copying executable
Removing temp folder /tmp/synoesp
Checking if tool is accessible
/bin/syno_extract_system_patch: /usr/local/lib/libcurl.so.4: no version information available (required by /bin/syno_extract_system_patch)
Executed succesfully
Checking for cached pat file
Found tinycore cache folder, linking to home/tc/custom-module
Found locally cached pat file /home/tc/custom-module/ds918p_42661.pat
File /home/tc/custom-module/ds918p_42661.pat, is  encrypted
File /home/tc/redpill-load/cache/ds918p_42661.pat, is a compressed tar
Unecrypted file is already cached in :  /home/tc/redpill-load/cache/ds918p_42661.pat
tar: ./VERSION: Not found in archive
tar: Exiting with failure status due to previous errors
Pat file  sha256sum is : 8a01371ad3c06c7159f6aeef498283c6b835d9182361d31936afe4078bdfe72d
Checking config file existence -> No config file found, please use the proper repo, clean and download again
tc@box:~$ ./rploader.sh build apollolake-7.1.0-42661
 

Link to comment
Share on other sites

9 hours ago, alirz1 said:

Im running into the follow error when trying to convert my existing ds3622 to ds918. Ive tried running ./rploader.sh clean. But the build process keeps running into this still

 

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
Found extractor locally cached
Copying required libraries to local lib directory
Linking lib to lib64
Copying executable
Removing temp folder /tmp/synoesp
Checking if tool is accessible
/bin/syno_extract_system_patch: /usr/local/lib/libcurl.so.4: no version information available (required by /bin/syno_extract_system_patch)
Executed succesfully
Checking for cached pat file
Found tinycore cache folder, linking to home/tc/custom-module
Found locally cached pat file /home/tc/custom-module/ds918p_42661.pat
File /home/tc/custom-module/ds918p_42661.pat, is  encrypted
File /home/tc/redpill-load/cache/ds918p_42661.pat, is a compressed tar
Unecrypted file is already cached in :  /home/tc/redpill-load/cache/ds918p_42661.pat
tar: ./VERSION: Not found in archive
tar: Exiting with failure status due to previous errors
Pat file  sha256sum is : 8a01371ad3c06c7159f6aeef498283c6b835d9182361d31936afe4078bdfe72d
Checking config file existence -> No config file found, please use the proper repo, clean and download again
tc@box:~$ ./rploader.sh build apollolake-7.1.0-42661
 

 

 

If you've gone as far as building the loader, the issue for the above question seems to have been resolved.
Is there any particular reason to stay with DSM 7.1.0-42661?


My M SHELL can proceed without problems up to the latest version of DSM, 7.1.1-42962 Update 2.
Install additional M SHELL with the command below and try building the DS918+ loader again.

 

curl -L "https://github.com/PeterSuh-Q3/tinycore-redpill/raw/main/my.sh.gz" -O;tar -zxvf my.sh.gz;

 

After executing ./menu.sh, build the loader according to the instructions below.

https://github.com/PeterSuh-Q3/tinycore-redpill#readme

 

Regardless of the DSM build version of the loader
After that, it's your choice whether to stay with DSM 7.1.0-42661 or use 7.1.1-42962 Update 2.
A loader for a higher revision covers lower revisions as well.

Link to comment
Share on other sites

2 minutes ago, Peter Suh said:

 

 

If you've gone as far as building the loader, the issue for the above question seems to have been resolved.
Is there any particular reason to stay with DSM 7.1.0-42661?


My M SHELL can proceed without problems up to the latest version of DSM, 7.1.1-42962 Update 2.
Install additional M SHELL with the command below and try building the DS918+ loader again.

 

curl -L "https://github.com/PeterSuh-Q3/tinycore-redpill/raw/main/my.sh.gz" -O;tar -zxvf my.sh.gz;

 

After executing ./menu.sh, build the loader according to the instructions below.

https://github.com/PeterSuh-Q3/tinycore-redpill#readme

 

Regardless of the DSM build version of the loader
After that, it's your choice whether to stay with DSM 7.1.0-42661 or use 7.1.1-42962 Update 2.
A loader for a higher revision covers lower revisions as well.

Thanks. My issue seemed to have been disk space on the loader lartition as I was testing with a VM and the vmdk for tcep was 1gb.

I haven't tried anything with the ARPL if that's what your referring to for the menu.sh?

 

Link to comment
Share on other sites

3 hours ago, alirz1 said:

Thanks. My issue seemed to have been disk space on the loader lartition as I was testing with a VM and the vmdk for tcep was 1gb.

I haven't tried anything with the ARPL if that's what your referring to for the menu.sh?

 

 

It is not ARPL's menu.sh.
A new menu.sh created for TCRP.

Link to comment
Share on other sites

is it possible to update an existing usb flash drive with tcrp 0.8.5 to the latest 0.9.x tcrp loader without have to write the image on the usb drive? 

./rloader fullupgrade now doesnt do anything as is.

Is there a a repo update or something needed to pull the new version? Thanks

 

Essentialyl i'm looking to go from DSM 7.1.x to 7.1.1 and as i understand i cannot do that with tcrp 0.8.x?

Edited by alirz1
Link to comment
Share on other sites

Hi,

 

First of all, I want to say HATS OFF to Pocopico - and everyone else who contributed to its development - for this awesome TCRP Friend bootloader! I am in awe to where we got from Jun's boot loader years ago. Congrats!

 

Now, to my silly issue and I deeply apologize if this has been encountered and discussed before. Despite my research over the past few days, I was not able to find anything similar.

 

I have an older PC (CPU Pentium dual-core E5300) running DSM 6.2.3 and I am trying to install on it TCRP Friend 0.0.0.3 (a note that I've installed TCRP Friend successfully on a couple of other servers w/o any issues and running latest DSM 7.1.1-42692 update 2).

 

The (stupid) issue I am hitting is like this:

1. TCRP Friend boots up without issues

2. Obtains an IP, checks online for latest version, etc.

3. Displays the last line "Loading exec, nothing will be displayed here anymore..."

4. After 5-10 seconds the NIC goes dark, it turns off

 

And it's not only the Atheros NIC from the MB, I tried also a DGE-530T NIC (which I know it works on another machine) with the same result.

 

Tiny Core and ./rploader.sh at build recognize both cards and it adds the extensions. And, again, both are getting an IP address when TCRP Friend boots up but they turn off shortly after.

 

Could it be that the CPU is too old and DSM 7 does not support it? Or is it something else that I'm missing (incompatible NICs somehow with the note that the DGE-530T one works with DSM 7 on another machine)? Could it be the extension scripts? Has anyone else encountered this issue?

 

Thanks a lot for all the help.

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

2 hours ago, altas said:

with TCRP Friend no IP address, looks like the Boot loader crashes

Right. So not really the same situation since in my case TCRP is getting an IP address and it’s able to check for new versions online when it boots up. It looks like my NICs are going down after TCRP has done its job and when DSM starts to load. 

Link to comment
Share on other sites

Bought a NUC style small PC to play with. Testing trcp 0.8.5 on it. But running into several issue during build. 

 

First:

tc@box:~$ ./rploader.sh satamap now

Found "00:17.0 Intel Corporation Device 4dd3 (rev 01)"
Detected 2 ports/1 drives. Bad ports: 1. Override # of ports or ENTER to accept <2>

Computed settings:
SataPortMap=2
DiskIdxMap=00

i figured ill set the port map to 1, which i did afterwrds in the user_config file, to try to overcome this issue? the mini pc only has a single ssd drive in it?

 

 

Second thing i notice during the build process was:

It looks that you will need the following modules :


Found VGA Controller : pciid 8086d00004e55  Required Extension :
No matching extension
Found SATA Controller : pciid 8086d00004dd3  Required Extension :
No matching extension

 

Third i ran into this:

 

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/sdb3/auxfiles': File exists
Copying required files to local cache folder for future use

 

At that point the process was still continuing but i decided to kill it. Should i be concerned with those errors or are they warning? The first file about the sata port seems to suggest that dsm install will fail. Would appreciate some input from knowledgeable folks who might know about this, Thanks.

 

 

EDIT: I updated the build process and reboot. It takes me to the DSM install web interface but says no drives were detected.

Edited by alirz1
Link to comment
Share on other sites

10 hours ago, Decebalus said:

Right. So not really the same situation since in my case TCRP is getting an IP address and it’s able to check for new versions online when it boots up. It looks like my NICs are going down after TCRP has done its job and when DSM starts to load. 

same to me...

Build the Boot Loader with TCRP is working but Boot into DSM with TCRP Friend => no IP

Link to comment
Share on other sites

5 hours ago, alirz1 said:

Bought a NUC style small PC to play with. Testing trcp 0.8.5 on it. But running into several issue during build. 

 

First:

tc@box:~$ ./rploader.sh satamap now

Found "00:17.0 Intel Corporation Device 4dd3 (rev 01)"
Detected 2 ports/1 drives. Bad ports: 1. Override # of ports or ENTER to accept <2>

Computed settings:
SataPortMap=2
DiskIdxMap=00

i figured ill set the port map to 1, which i did afterwrds in the user_config file, to try to overcome this issue? the mini pc only has a single ssd drive in it?

 

 

Second thing i notice during the build process was:

It looks that you will need the following modules :


Found VGA Controller : pciid 8086d00004e55  Required Extension :
No matching extension
Found SATA Controller : pciid 8086d00004dd3  Required Extension :
No matching extension

 

Third i ran into this:

 

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/sdb3/auxfiles': File exists
Copying required files to local cache folder for future use

 

At that point the process was still continuing but i decided to kill it. Should i be concerned with those errors or are they warning? The first file about the sata port seems to suggest that dsm install will fail. Would appreciate some input from knowledgeable folks who might know about this, Thanks.

 

 

EDIT: I updated the build process and reboot. It takes me to the DSM install web interface but says no drives were detected.

Which platform are you building?

Link to comment
Share on other sites

2 hours ago, altas said:

same to me...

Build the Boot Loader with TCRP is working but Boot into DSM with TCRP Friend => no IP

Interesting. As a note, the upgrade I attempted this morning for another machine using DS3615xs platform, from DSM 6.2.3 to 7.1.1  went without a hitch. Smooth as butter. Weird that the machine with the old Pentium CPU is the only one having the NIC issue.

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