Jump to content
XPEnology Community

TinyCore RedPill Loader (TCRP)


pocopico

Recommended Posts

On 4/17/2023 at 1:46 PM, cableguy said:

To the smart people... Poco, Peter, Flyride, etc...

 

Where in the heck is synoinfo.conf written to during the "BUILD" process which then overwrites the local /etc and /etc.defaults synoinfo.conf? I feel like I'm missing something.

 

Yes I know I can update some (all?) fields with user_config, however, I'm way past that as I've sunk about 10 hours into this and I'm bashing my head against at wall at 1AM over here... I've went deep into your scripts (pretty good stuff Poco, BTW, little spaghettieie, but hey, it works) and I've pulled /synoboot1/2/3 and I thought for sure it was synoboot1/rd.gz but I've pulled that apart and recompressed it and still it is getting over written somewhere. I then looked at synoboot2 contents and pulled apart those files but those look like defaults, so no luck there and then went to synoboot3 and changing those file did nothing. Coming here was a last resort as I like to figure this stuff out myself but man, I'm really struggling. Truth me told, I dont need to be down in my office for another day with my wife thinking "what the heck is he doing down there?!"

 

FWIW, I'm going all of this work/editing in TCRP env, just didnt know what to call the synology mount points (sda1 vs synoboot1, etc.)

 

TYIA!

 

 

I don't know if you have already analyzed this source
synoinfo.conf is actually better than user_config.json
Use the config.json for each model located below.

 

https://github.com/PeterSuh-Q3/redpill-load/blob/master/build-loader.sh#L298

 

https://github.com/PeterSuh-Q3/redpill-load/blob/master/config/DS3622xs%2B/7.1.1-42962/config.json#L34

 

The contents of user_config.json are written to /proc/cmdline .

Edited by Peter Suh
Link to comment
Share on other sites

Peter Suh,

I (and not only) have had this problem for a long time: https://github.com/pocopico/tinycore-redpill/issues/208https://github.com/fbelavenuto/arpl/issues/260
I tried your version of the bootloader on one hardware, in Friend mode - there is a problem, in JOT mode - everything is fine.
Do you have any idea why this is happening?

Edited by Loredan
Link to comment
Share on other sites

6 hours ago, Loredan said:

Peter Suh,

I (and not only) have had this problem for a long time: https://github.com/pocopico/tinycore-redpill/issues/208https://github.com/fbelavenuto/arpl/issues/260
I tried your version of the bootloader on one hardware, in Friend mode - there is a problem, in JOT mode - everything is fine.
Do you have any idea why this is happening?

 

I've read all the issues of arpl up to January 18 this year. At that time, it seems that fabio fixed a bug in arpl, but he did not tell us what he did.


If fabio gives any clues, I think I can start analyzing that part, but for now I'm at a loss to solve it.


Since m shell fot tcrp friend and tcrp jot use the same integrated module, it doesn't seem to be a problem with the module.


Since both pocopico and fabio are busy with personal matters, I think we will have to wait for them for the time being.

Edited by Peter Suh
Link to comment
Share on other sites

9 часов назад, Peter Suh сказал:

I've read all the issues of arpl up to January 18 this year. At that time, it seems that fabio fixed a bug in arpl, but he did not tell us what he did.

 

 

There were two problems, the first one: 


And it seems to have been fixed in ARPL, but this second one is something else. I tried ARPL beta 2a, the problem I describe is still there. It's just strange that in TCRL she only shows up with Friend mod.

Link to comment
Share on other sites

On 4/18/2023 at 2:35 AM, Peter Suh said:

 

 

I don't know if you have already analyzed this source
synoinfo.conf is actually better than user_config.json
Use the config.json for each model located below.

 

https://github.com/PeterSuh-Q3/redpill-load/blob/master/build-loader.sh#L298

 

https://github.com/PeterSuh-Q3/redpill-load/blob/master/config/DS3622xs%2B/7.1.1-42962/config.json#L34

 

The contents of user_config.json are written to /proc/cmdline .

 

Sorry - it was late and my brain was scattered. I think I asked the wrong question. Where is the ultimate source for synoinfo.conf after the build? In other words, what file location is overwriting /etc/synoinfo and /etc.default/synoinfo on boot? The directory (ies) above are used during the TC build process, with the first link being the unpacked RAM disk (synoboot1) which I've discovered and understand. However, it doesnt help with my question, unless I didnt something wrong as I've unpacked rd.gz on synoboot1, updated it and then repacked it and the synoinfo.conf was still the old file/settings.

 

Thanks

 

 

Link to comment
Share on other sites

9 hours ago, cableguy said:

 

Sorry - it was late and my brain was scattered. I think I asked the wrong question. Where is the ultimate source for synoinfo.conf after the build? In other words, what file location is overwriting /etc/synoinfo and /etc.default/synoinfo on boot? The directory (ies) above are used during the TC build process, with the first link being the unpacked RAM disk (synoboot1) which I've discovered and understand. However, it doesnt help with my question, unless I didnt something wrong as I've unpacked rd.gz on synoboot1, updated it and then repacked it and the synoinfo.conf was still the old file/settings.

 

Thanks

 

 

After taking a break, letting my brain process the code and taking another look with fresh eyes, I got it. Thanks for the help. :D

  • Like 1
Link to comment
Share on other sites

22 hours ago, Loredan said:

 

There were two problems, the first one: 


And it seems to have been fixed in ARPL, but this second one is something else. I tried ARPL beta 2a, the problem I describe is still there. It's just strange that in TCRL she only shows up with Friend mod.

 

Answer from chatGPT.
Unreliable, but can we try?

 

synology intel_pstate


Intel P-state is one of the power management features of Intel CPUs. This feature optimizes power consumption by dynamically adjusting the processor's frequency and voltage according to the CPU's performance requirements.

 

DSM-based products such as Synology DiskStation/Manager use Intel P-state to optimize system power consumption. This feature is enabled by default and can be disabled in BIOS settings. However, some users may pursue higher performance by disabling P-state and maximizing CPU performance.

  • Like 1
  • Haha 1
Link to comment
Share on other sites

2 часа назад, Peter Suh сказал:

 

Answer from chatGPT.
Unreliable, but can we try?

 

synology intel_pstate


Intel P-state is one of the power management features of Intel CPUs. This feature optimizes power consumption by dynamically adjusting the processor's frequency and voltage according to the CPU's performance requirements.

 

DSM-based products such as Synology DiskStation/Manager use Intel P-state to optimize system power consumption. This feature is enabled by default and can be disabled in BIOS settings. However, some users may pursue higher performance by disabling P-state and maximizing CPU performance.

 

I didn't quite understand the idea. After all, the problem with Intel P-State manifested slightly differently, and its solution was found, which didn't work for me (I tested it several times with a new loader and reinstalled DSM).
But here on TCRP everything is fine, virtual machines work fast, but when switching to TCRP Friend, virtual machines work very slowly. This is reproducible for me consistently.
It would be interesting to figure out.

Link to comment
Share on other sites

1 hour ago, Loredan said:

 

I didn't quite understand the idea. After all, the problem with Intel P-State manifested slightly differently, and its solution was found, which didn't work for me (I tested it several times with a new loader and reinstalled DSM).
But here on TCRP everything is fine, virtual machines work fast, but when switching to TCRP Friend, virtual machines work very slowly. This is reproducible for me consistently.
It would be interesting to figure out.

 

I also had a doubt about TCRP FRIEND and was looking for information.


Anyway, TCRP FRIEND uses a separate Linux kernel from TCRP JOT.
https://github.com/PeterSuh-Q3/tcrpfriend/blob/main/buildroot/board/tcrpfriend/kernel_defconfig

 

For reference, I confirmed that the following settings already exist in this file.
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_X86_ACPI_CPUFREQ=y

 

instead of "CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y, CONFIG_CPU_FREQ_GOV_ONDEMAND=y"
Is it necessary to set "CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y, CONFIG_CPU_FREQ_GOV_ONDEMAND=n"?

 

https://cateee.net/lkddb/web-lkddb/CPU_FREQ_DEFAULT_GOV_PERFORMANCE.html
Kernel of TCRP FRIEND is v5.15.26 GNU/Linux.

 

As in the instructions below, if CONFIG_X86_INTEL_PSTATE is not explicitly set to y or n in this kernel configuration,

I think that powersave will operate first and degrade performance.


https://cateee.net/lkddb/web-lkddb/X86_INTEL_PSTATE.html


However, it is still being checked and is not accurate.

 

Recently, while checking this kernel configuration, I also noticed that TCRP FRIEND cannot use tmpfs.

 

ARPL would be in the same position.

 

ARPL already tried on January 15th.

https://github.com/fbelavenuto/arpl/commit/ef8fc415acc729992efb6468e547bb5af4f12f4b

 

CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y

CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y

 

Did this change not work?

Edited by Peter Suh
Link to comment
Share on other sites

1 hour ago, Loredan said:

 

I didn't quite understand the idea. After all, the problem with Intel P-State manifested slightly differently, and its solution was found, which didn't work for me (I tested it several times with a new loader and reinstalled DSM).
But here on TCRP everything is fine, virtual machines work fast, but when switching to TCRP Friend, virtual machines work very slowly. This is reproducible for me consistently.
It would be interesting to figure out.

 

Please proceed with the VMM test once more with ARPL (v1.0 beta12 or higher) built after January 15, 2023.
There seems to be no feedback on ARPL testing with kernel configurations changed after this date.
If you succeed in ARPL,
I will set the same for my M SHELL for TCRP FRIEND.

Edited by Peter Suh
Link to comment
Share on other sites

1 час назад, Peter Suh сказал:

 

Please proceed with the VMM test once more with ARPL (v1.0 beta12 or higher) built after January 15, 2023.
There seems to be no feedback on ARPL testing with kernel configurations changed after this date.
If you succeed in ARPL,
I will set the same for my M SHELL for TCRP FRIEND.

I have previously tried the latest ARPL. Now I have built v1.1-beta2a again and set in the BIOS settings:
Intel(R) SpeedStep ([Auto] [Disabled] [Enabled]) = Disabled
Intel(R) Speed Shift Technology ([Disabled] [Enabled]) = Disabled
CPU C-States ([Auto] [Disabled] [Enabled]) = Disabled
or
Intel(R) SpeedStep ([Auto] [Disabled] [Enabled]) = Enabled
Intel(R) Speed Shift Technology ([Disabled] [Enabled]) = Enabled
CPU C-States ([Auto] [Disabled] [Enabled]) = Disabled

The problem still persists.

 

Currently, I am using TCRP (without Friend) and in the BIOS settings:
Intel(R) SpeedStep ([Auto] [Disabled] [Enabled]) = Auto
Intel(R) Speed Shift Technology ([Disabled] [Enabled]) = Enabled
CPU C-States ([Auto] [Disabled] [Enabled]) = Enabled

There is no problem. Perhaps I have a specific motherboard (ASUS TUF GAMING B560-PLUS + Core i5 11400).

Link to comment
Share on other sites

9 hours ago, Loredan said:

I have previously tried the latest ARPL. Now I have built v1.1-beta2a again and set in the BIOS settings:
Intel(R) SpeedStep ([Auto] [Disabled] [Enabled]) = Disabled
Intel(R) Speed Shift Technology ([Disabled] [Enabled]) = Disabled
CPU C-States ([Auto] [Disabled] [Enabled]) = Disabled
or
Intel(R) SpeedStep ([Auto] [Disabled] [Enabled]) = Enabled
Intel(R) Speed Shift Technology ([Disabled] [Enabled]) = Enabled
CPU C-States ([Auto] [Disabled] [Enabled]) = Disabled

The problem still persists.

 

Currently, I am using TCRP (without Friend) and in the BIOS settings:
Intel(R) SpeedStep ([Auto] [Disabled] [Enabled]) = Auto
Intel(R) Speed Shift Technology ([Disabled] [Enabled]) = Enabled
CPU C-States ([Auto] [Disabled] [Enabled]) = Enabled

There is no problem. Perhaps I have a specific motherboard (ASUS TUF GAMING B560-PLUS + Core i5 11400).

 

It's a pity that it doesn't work in ARPL.


If so, I can fix it for you by changing the above mentioned settings in the TCRP FRIEND kernel.
Can you test the replacement if I tell you where the new kernel will be distributed and how to install it?

 

Yesterday I also installed and tested VMM on my XPE, but it is not easy to start.
I installed Ubuntu 16.04 because it was possible to install and start on Intel 4th generation DS3622xs+ TCRP FRIEND, and it took about 50 minutes.

Disk speed doesn't seem to increase even in Haswell with acpi-cpufreq tweaked.

 

In Intel 8th generation G5500 DS918+ TCP FRIEND, VMM does not start.
So I need your testing help.

 

The point at which the kernel rebuild ends seems to be possible today or tomorrow.
Is it possible?

Edited by Peter Suh
Link to comment
Share on other sites

 

user_config.json ( Edit the user_config.json file to disable the friend's kernel auto-update. )

friendautoupd : true -> false

 

cd /mnt/sd#3 ( The dev information of the USB stick will be different. In my case it was sda. )

 

If you have entered the above path normally, download the three files with the curl command below.

 

curl -s --insecure -L -O "https://giteas.duckdns.org/PeterSuh-Q3/tcrpfriend/raw/branch/main/v0.0.6a/chksum" \
-O "https://giteas.duckdns.org/PeterSuh-Q3/tcrpfriend/raw/branch/main/v0.0.6a/bzImage-friend" \
-O "https://giteas.duckdns.org/PeterSuh-Q3/tcrpfriend/raw/branch/main/v0.0.6a/initrd-friend"

 

If you verify as below and see the same checksum as v0.0.6a, it is normal.

Don't get confused because it is marked as v0.0.6 at kernel boot time.

 

tc@box:/mnt/sda3$ cat chksum
VERSION=v0.0.6a
e46ec24b1f410c52fc52235e0c43d8a7370f5c24b0836cbd784f326b0042f3f2  /opt/output/bzImage-friend
bfc21ffd91d8b83be5a2cbe3970af1dc509a8cef6239535acbfb9ce3b2984e43  /opt/output/initrd-friend

 

 

<Changes>

https://github.com/PeterSuh-Q3/tcrpfriend/commit/6d3ef8bb50cf5a883a8d64d8f92dce3076c735fb

Edited by Peter Suh
Link to comment
Share on other sites

9 часов назад, Peter Suh сказал:

If so, I can fix it for you by changing the above mentioned settings in the TCRP FRIEND kernel.
Can you test the replacement if I tell you where the new kernel will be distributed and how to install it?

 

Yesterday I also installed and tested VMM on my XPE, but it is not easy to start.
I installed Ubuntu 16.04 because it was possible to install and start on Intel 4th generation DS3622xs+ TCRP FRIEND, and it took about 50 minutes.

Disk speed doesn't seem to increase even in Haswell with acpi-cpufreq tweaked.

 

In Intel 8th generation G5500 DS918+ TCP FRIEND, VMM does not start.
So I need your testing help.

 

The point at which the kernel rebuild ends seems to be possible today or tomorrow.
Is it possible?

 

Yes, of course, I can participate to the best of my abilities and knowledge.
I will most likely have a few hours to test this evening, then only after 23.04. However, I am not a very experienced user.

Is the message below an instruction? Should this be done before assembling the bootloader?

Link to comment
Share on other sites

2 hours ago, Loredan said:

 

Yes, of course, I can participate to the best of my abilities and knowledge.
I will most likely have a few hours to test this evening, then only after 23.04. However, I am not a very experienced user.

Is the message below an instruction? Should this be done before assembling the bootloader?

 

I'm sorry. I'm missing an explanation of when to use curl .
After building the loader, you should use curl one last time.
If you have a loader already built, you just need to curl it.

  • Thanks 1
Link to comment
Share on other sites

5 часов назад, Peter Suh сказал:

I'm sorry. I'm missing an explanation of when to use curl .
After building the loader, you should use curl one last time.
If you have a loader already built, you just need to curl it.

 

I did it, the problem remained. I'm not sure I did everything right:
1) Wrote a new image (tinycore-redpill.v0.9.4.3-2.m-shell.img.gz).
2) Selected the model, SN, MAC.
3) /home/tc/user_config.json/friendautoupd : true -> false
4) Built a loader
5) Executed:

tc@box:~$ cd /mnt/sdb3
tc@box:/mnt/sdb3$ curl -s --insecure -L -O "https://giteas.duckdns.org/PeterSuh-Q3/tcrpfriend/raw/branch/main/v0.0.6a/chksum" \
> -O "https://giteas.duckdns.org/PeterSuh-Q3/tcrpfriend/raw/branch/main/v0.0.6a/bzImage-friend" \
> -O "https://giteas.duckdns.org/PeterSuh-Q3/tcrpfriend/raw/branch/main/v0.0.6a/initrd-friend"
tc@box:/mnt/sdb3$ cat chksum
VERSION=v0.0.6a
e46ec24b1f410c52fc52235e0c43d8a7370f5c24b0836cbd784f326b0042f3f2  /opt/output/bzImage-friend
bfc21ffd91d8b83be5a2cbe3970af1dc509a8cef6239535acbfb9ce3b2984e43  /opt/output/initrd-friend
tc@box:/mnt/sdb3$

6) Reboot to DSM.

 

Usually, I try a few times, but there was little time. It is possible that I made a mistake somewhere.
Sorry if I misunderstood you.

Link to comment
Share on other sites

5 hours ago, Loredan said:

 

I did it, the problem remained. I'm not sure I did everything right:
1) Wrote a new image (tinycore-redpill.v0.9.4.3-2.m-shell.img.gz).
2) Selected the model, SN, MAC.
3) /home/tc/user_config.json/friendautoupd : true -> false
4) Built a loader
5) Executed:

tc@box:~$ cd /mnt/sdb3
tc@box:/mnt/sdb3$ curl -s --insecure -L -O "https://giteas.duckdns.org/PeterSuh-Q3/tcrpfriend/raw/branch/main/v0.0.6a/chksum" \
> -O "https://giteas.duckdns.org/PeterSuh-Q3/tcrpfriend/raw/branch/main/v0.0.6a/bzImage-friend" \
> -O "https://giteas.duckdns.org/PeterSuh-Q3/tcrpfriend/raw/branch/main/v0.0.6a/initrd-friend"
tc@box:/mnt/sdb3$ cat chksum
VERSION=v0.0.6a
e46ec24b1f410c52fc52235e0c43d8a7370f5c24b0836cbd784f326b0042f3f2  /opt/output/bzImage-friend
bfc21ffd91d8b83be5a2cbe3970af1dc509a8cef6239535acbfb9ce3b2984e43  /opt/output/initrd-friend
tc@box:/mnt/sdb3$

6) Reboot to DSM.

 

Usually, I try a few times, but there was little time. It is possible that I made a mistake somewhere.
Sorry if I misunderstood you.

 

The above process is exactly right.

Link to comment
Share on other sites

5 hours ago, Loredan said:

 

I did it, the problem remained. I'm not sure I did everything right:
1) Wrote a new image (tinycore-redpill.v0.9.4.3-2.m-shell.img.gz).
2) Selected the model, SN, MAC.
3) /home/tc/user_config.json/friendautoupd : true -> false
4) Built a loader
5) Executed:

tc@box:~$ cd /mnt/sdb3
tc@box:/mnt/sdb3$ curl -s --insecure -L -O "https://giteas.duckdns.org/PeterSuh-Q3/tcrpfriend/raw/branch/main/v0.0.6a/chksum" \
> -O "https://giteas.duckdns.org/PeterSuh-Q3/tcrpfriend/raw/branch/main/v0.0.6a/bzImage-friend" \
> -O "https://giteas.duckdns.org/PeterSuh-Q3/tcrpfriend/raw/branch/main/v0.0.6a/initrd-friend"
tc@box:/mnt/sdb3$ cat chksum
VERSION=v0.0.6a
e46ec24b1f410c52fc52235e0c43d8a7370f5c24b0836cbd784f326b0042f3f2  /opt/output/bzImage-friend
bfc21ffd91d8b83be5a2cbe3970af1dc509a8cef6239535acbfb9ce3b2984e43  /opt/output/initrd-friend
tc@box:/mnt/sdb3$

6) Reboot to DSM.

 

Usually, I try a few times, but there was little time. It is possible that I made a mistake somewhere.
Sorry if I misunderstood you.

 

 

At the request of another user, the version of the TCRP FRIEND kernel has been upgraded to v0.0.6b.

 

 

Of course, the changes from v0.0.6a are also included in this.

 

Since v0.0.6b has clear changes on the kernel boot screen, it is better to use this version.

 

Change the curl command to v0.0.6b as shown below.

 

curl -s --insecure -L -O "https://giteas.duckdns.org/PeterSuh-Q3/tcrpfriend/raw/branch/main/v0.0.6b/chksum" \
-O "https://giteas.duckdns.org/PeterSuh-Q3/tcrpfriend/raw/branch/main/v0.0.6b/bzImage-friend" \
-O "https://giteas.duckdns.org/PeterSuh-Q3/tcrpfriend/raw/branch/main/v0.0.6b/initrd-friend"

 

1868965015_2023-04-2210_41_31.thumb.png.9a8809af2b2ee0296902bc10815cce3b.png

Edited by Peter Suh
  • Thanks 1
Link to comment
Share on other sites

9 hours ago, Loredan said:

 

Usually, I try a few times, but there was little time. It is possible that I made a mistake somewhere.
Sorry if I misunderstood you.

 

 

Today's VMM installation was successful, so I tested it first.
The installation environment of M SHELL is i3-10100F / 8GB / Intel 2.5GB nic [igc].
I used a DS920+.


To make the environment most similar to yours, VMM allocated 2CPU / 4GB equally and installed Windows 10 64Bit.

I used Raid0 for 2 disks to make disk access a little more advantageous.

 

However, unexpected results were obtained.


Apply CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y


Rather, in v0.0.6b, the performance degradation of the disk appeared.


In v0.0.6, the final release version of the existing TCRP FRIEND,


Not quite as good as the TCRP Jot, but close, as shown below.


I await your test results.

 

 

[TCRP Jot 7.1.1-42962 U1 DS920+]

 

229852422_jot_ds920_raid0_win10x64_2cpu_4GBram.png.7a14195629af853181273f8078747d6d.png

 

[TCRP FRIEND 7.1.1-42962 U1 DS920+ v0.0.6b]

 

2042194060_0.0.6b_ds920_raid0_win10x64_2cpu_4GBram.jpg.aff257f98005d25e888da1703cca7554.jpg

 

[TCRP FRIEND 7.1.1-42962 U1 DS920+ v0.0.6]

 

999042788_0.0.6_ds920_raid0_win10x64_2cpu_4GBram.png.56da79d953165da3ccca31d9c7e36706.png

Edited by Peter Suh
  • Thanks 1
Link to comment
Share on other sites

In this test, I found out that the performance is greatly influenced by how the kernel configuration is set.

CONFIG_IOSCHED_BFQ=y There is no set value, but chatGPT explains it as follows.
I should consider the results of your DVA3221,
I would like to try a different way to set the kernel configuration.

 

107293607_2023-04-223_26_05.thumb.png.e8345b08e726921da699ab961d347f1d.png

Edited by Peter Suh
  • Thanks 1
Link to comment
Share on other sites

55 minutes ago, Black6spdZ said:

quick Q, I have a small setup using an SAS HBA " LSI 9211-8i (IT) w/ 4x HDD & 1 SSD" and no onboard SATA. Drive ordering starts at 2 instead of 1 and I haven't been able to figure out how to fix this.. I tried SataPortMap=0 but no go.

 

Try using "SasIdxMap": "0"

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