Jump to content
XPEnology Community

RedPill - the new loader for 6.2.4 - Discussion


Recommended Posts

9 minutes ago, ThorGroup said:

As for VBox you're probably missing https://github.com/RedPill-TTG/redpill-load/commit/5df3ace2191f6bad818b2f34e802163a96408d59 - yumkey branch doesn't have that commit. We're working on v7 but we found some problems (e.g. broken cmdline sanitization which may trigger autodestruction of the DSM after a random time).

 

@jumkey seems to have added that commit to his branch today (https://github.com/jumkey/redpill-load/commit/e071f75e9918f9b27211cc51f87f3d046de1dc6d) and I confirmed the below is the full file on my system after downloading his branch and building a loader with it, but I still get no network connection from the VM in Virtual Box when I try to find loader with "find.synology.com" or by checking DHCP server entries for the assigned mac address.

 

lab@debian8-lab01:~/redpill-DSM7/redpill-load/config/DS918+/7.0-41890$ cat ramdisk-002-init-script.patch 
--- a/linuxrc.syno.impl
+++ b/linuxrc.syno.impl
@@ -3,6 +3,8 @@
 
 echo "START /linuxrc.syno.impl"
 
+insmod /usr/lib/modules/rp.ko && rm /usr/lib/modules/rp.ko
+
 . /etc.defaults/rc.subr
 . /usr/syno/share/environments.sh
 . /usr/syno/share/util.sh
@@ -138,6 +140,7 @@ fi
 # insert basic USB modules for detect f401/FDT
 echo "Insert basic USB modules..."
 SYNOLoadModules $USB_MODULES
+SYNOLoadModules "usb-storage"
 
 # insert Etron USB3.0 drivers
 
@@ -252,7 +255,7 @@ if [ "x" != "x`/bin/get_key_value /etc.d
 fi
 if [ "$UniqueRD" = "kvmx64" -o \
 		"$UniqueRD" = "nextkvmx64" -o \
-		"$UniqueRD" = "kvmcloud" ]; then
+		"$UniqueRD" = "kvmcloud" ] || (dmesg | grep -q -E "DMI: .*(QEMU|VirtualBox)"); then
 	insmod /lib/modules/virtio.ko
 	insmod /lib/modules/virtio_ring.ko
 	insmod /lib/modules/virtio_pci.ko
lab@debian8-lab01:~/redpill-DSM7/redpill-load/config/DS918+/7.0-41890$ 

 

Edited by ilovepancakes
Link to comment
Share on other sites

2 hours ago, ThorGroup said:
6 hours ago, jarugut said:

 

Hi Thorgroup, on the /var/log not exist any install log sorry, I've checke in the USB too but not exist this file.

 

 

image.thumb.png.603320a3e0090692612f7eb43bfe59ca.png

 

Do you have enough with the dmesg output? do you need that I will reinstalled from the scratch the qnap with the same USB to check if the install file will be created?

dmesg.out 123.76 kB · 3 downloads

Expand  

That is unfortunately a partial dmesg but if we have to guess it's not detecting the USB stick properly. In order to grab the logs you have to log-in over serial port as all the logs are in memory and are erased after reboot. A Linux distro boot process is usually two staged: it first loads a pre-boot system into ram, does some housekeeping like mounting the main OS and loading drivers and then "overrides" the / with newly mounted disk and continues booting. In DSM that second step only happens when DSM is installed. The installer itself is running from ram so all its logs are in ram.

 

Sorry in this case I think I cannot help, the QNAP not have serial port to be able to connect to extract the log requested :(

Link to comment
Share on other sites

The error 13 - No idea if its the same issue/related, but I remember that selecting the "reinstall" option in Jun's loader and then attempting to install will throw the error 13 after uploading the image as well (while the normal option wont) 

 

Maybe worth looking into, but no idea, just a random thought :) 

Link to comment
Share on other sites

27 minutes ago, ilovepancakes said:

 

@jumkey seems to have added that commit to his branch today (https://github.com/jumkey/redpill-load/commit/e071f75e9918f9b27211cc51f87f3d046de1dc6d) and I confirmed the below is the full file on my system after downloading his branch and building a loader with it, but I still get no network connection from the VM in Virtual Box when I try to find loader with "find.synology.com" or by checking DHCP server entries for the assigned mac address.

 


lab@debian8-lab01:~/redpill-DSM7/redpill-load/config/DS918+/7.0-41890$ cat ramdisk-002-init-script.patch 
--- a/linuxrc.syno.impl
+++ b/linuxrc.syno.impl
@@ -3,6 +3,8 @@
 
 echo "START /linuxrc.syno.impl"
 
+insmod /usr/lib/modules/rp.ko && rm /usr/lib/modules/rp.ko
+
 . /etc.defaults/rc.subr
 . /usr/syno/share/environments.sh
 . /usr/syno/share/util.sh
@@ -138,6 +140,7 @@ fi
 # insert basic USB modules for detect f401/FDT
 echo "Insert basic USB modules..."
 SYNOLoadModules $USB_MODULES
+SYNOLoadModules "usb-storage"
 
 # insert Etron USB3.0 drivers
 
@@ -252,7 +255,7 @@ if [ "x" != "x`/bin/get_key_value /etc.d
 fi
 if [ "$UniqueRD" = "kvmx64" -o \
 		"$UniqueRD" = "nextkvmx64" -o \
-		"$UniqueRD" = "kvmcloud" ]; then
+		"$UniqueRD" = "kvmcloud" ] || (dmesg | grep -q -E "DMI: .*(QEMU|VirtualBox)"); then
 	insmod /lib/modules/virtio.ko
 	insmod /lib/modules/virtio_ring.ko
 	insmod /lib/modules/virtio_pci.ko
lab@debian8-lab01:~/redpill-DSM7/redpill-load/config/DS918+/7.0-41890$ 

 

Edit the patch file and replace the line with:

"$UniqueRD" = "kvmcloud" ] || [ -e "/lib/modules/virtio.ko" ]; then

 

So you are sure that the virtio drivers gets loading when they exist.

Link to comment
Share on other sites

3 hours ago, NooL said:

The error 13 - No idea if its the same issue/related, but I remember that selecting the "reinstall" option in Jun's loader and then attempting to install will throw the error 13 after uploading the image as well (while the normal option wont) 

 

Maybe worth looking into, but no idea, just a random thought :) 

It's been mentioned previously that "error 13" is a generic error that means a lot of different things.  You can get more info on why it's throwing that error by logging in via serial (username: root, no password) and looking at /var/log/messages.

  • Like 1
Link to comment
Share on other sites

Hi All!

 

First of all, thank you devs for the hard work, you are keeping this project alive, nice!

 

Second: I would like to test DSM7 on my ESXI host. Anyone can build a 3615xs or 3617xs loader for me, if i give SN and MAC for it? Sure i would donate a few beer for the help :)

 

Thanks for the help!

Link to comment
Share on other sites

1 minute ago, havast said:

Hi All!

 

First of all, thank you devs for the hard work, you are keeping this project alive, nice!

 

Second: I would like to test DSM7 on my ESXI host. Anyone can build a 3615xs or 3617xs loader for me, if i give SN and MAC for it? Sure i would donate a few beer for the help :)

 

Thanks for the help!

 

Read some of the above thread. ESXi will not work per TTG until they implement SATA DOM fixes.

Link to comment
Share on other sites

I incorparated the latest changes in the redpill universe into the toolchain builder:

 

For 6.2.4 builds: the kernel sources are configured to be used by default.

For 7.0 builds: the Toolkit Dev sources are configured to be used by default.

 

# Inofficial redpill tool chain image builder

- Creates a OCI Container (~= Docker) image based toolchain

- Takes care of downloading (and caching) the required sources to compile redpill.ko and the required os packages that the build process depends on.

- Caches .pat downloads inside the container on the host.

 

## Changes

- Migrated from Make to Bash (requires `jq`, instead of `make` now )

- Removed Synology Toolchain, the tool chain now consists  of debian packages

- Configuration is now done in the JSON file `global_config.json`

- The configuration allows to specify own configurations -> just copy a block underneath the `building_configs` block and make sure it has a unique value for the id attribute. The id is used what actualy is used to determine the <platform_version>.

 

## Usage

 

1. Create `user_config.json` according https://github.com/RedPill-TTG/redpill-load

2. Build the image for the platform and version you want:

   `redpill_tool_chain.sh build <platform_version>`

3. Run the image for the platform and version you want:

   `redpill_tool_chain.sh run <platform_version>`

4. Inside the container, run `make build_all` to build the loader for the platform_version

 

Note: run `redpill_tool_chain.sh build` to get the list of supported <platform_version>

 

After step 4. the redpill load image should be build and can be found in the host folder "images".

 

Feel free to customize the heck out of every part of the toolchain builder and post it here. If things can be done better, feel free to make them better and share the result with us.

 

redpill-tool-chain_x86_64_v0.5.1.zip

Edited by haydibe
  • Like 7
  • Thanks 3
Link to comment
Share on other sites

1 hour ago, haydibe said:

I incorparated the latest changes in the redpill universe into the toolchain builder:

 

For 6.2.4 builds: the kernel sources are configured to be used by default.

For 7.0 builds: the Toolkit Dev sources are configured to be used by default.

 

# Inofficial redpill tool chain image builder

- Creates a OCI Container (~= Docker) image based toolchain

- Takes care of downloading (and caching) the required sources to compile redpill.ko and the required os packages that the build process depends on.

- Caches .pat downloads inside the container on the host.

 

## Changes

- Migrated from Make to Bash (requires `jq`, instead of `make` now )

- Removed Synology Toolchain, the tool chain now consists  of debian packages

- Configuration is now done in the JSON file `global_config.json`

- The configuration allows to specify own configurations -> just copy a block underneath the `building_configs` block and make sure it has a unique value for the id attribute. The id is used what actualy is used to determine the <platform_version>.

 

## Usage

 

1. Create `user_config.json` according https://github.com/RedPill-TTG/redpill-load

2. Build the image for the platform and version you want:

   `redpill_tool_chain.sh build <platform_version>`

3. Run the image for the platform and version you want:

   `redpill_tool_chain.sh run <platform_version>`

4. Inside the container, run `make build_all` to build the loader for the platform_version

 

Note: run `redpill_tool_chain.sh build` to get the list of supported <platform_version>

 

After step 4. the redpill load image should be build and can be found in the host folder "images".

 

Feel free to customize the heck out of every part of the toolchain builder and post it here. If things can be done better, feel free to make them better and share the result with us.

 

redpill-tool-chain_x86_64_v0.5.1.zip 5.61 kB · 9 downloads

 

Thanks, the tools is running perfect to generate the boot image for me.

Let me share the environment.

Proxmox v7 running on AMD 3900X

with ds3615xs, kernel 3.x, DSM7, seems running fine. 

I expect some feature does not work as in 6.2.3 (i.e. virtual machine manager, and Photo AI tag on subject)

 

with ds918+, kernel 4.x, DSM fails to initialise the usb boot drive during boot, which the /dev/synoboot /dev/synoboot2 /dev/synoboot3 are missing.

This is one of the many know issues of the new 4.x kernel.

Link to comment
Share on other sites

Hi all

Thank you for all your hardwork.

Maybe im stupid :-) im not a developer.

Could you help me how can i create/use this loader/with the docker file from haydibe ?

Import in docker (How) ?? install Linux and then with ssh ?? 

thank you for a small guide for a noob.

thanks

 

Link to comment
Share on other sites

9 minutes ago, nemesis122 said:

Hi all

Thank you for all your hardwork.

Maybe im stupid :-) im not a developer.

Could you help me how can i create/use this loader/with the docker file from haydibe ?

Import in docker (How) ?? install Linux and then with ssh ?? 

thank you for a small guide for a noob.

thanks

 

Mayne @haydibe if he is kind enough he can edit his post and write a few samples with the exact arguments... :)

Link to comment
Share on other sites

32 minutes ago, nemesis122 said:

Hi all

Thank you for all your hardwork.

Maybe im stupid :-) im not a developer.

Could you help me how can i create/use this loader/with the docker file from haydibe ?

Import in docker (How) ?? install Linux and then with ssh ?? 

thank you for a small guide for a noob.

thanks

 

i started to writte some quick note on how to start this under unbuntu image :-)

 

around page 13, i think.

Link to comment
Share on other sites

3 minutes ago, gadreel said:

The new version does not use make to create and run the container.

The new one is a shell script.

 

sudo apt install make curl docker docker.io jq
sudo chown [user]:docker /var/run/docker.sock

 

unzip -d redpill-tool-chain_x86_64_v0.5.1 redpill-tool-chain_x86_64_v0.5.1.zip
cd redpill-tool-chain_x86_64_v0.5.1

 

redpill_tool_chain.sh build <platform_version> | apollolake-6.2.4-25556 OR apollolake-7.0-41890
./redpill_tool_chain.sh build apollolake-7.0-41890

 

redpill_tool_chain.sh run  <platform_version> | apollolake-6.2.4-25556 OR apollolake-7.0-41890

make build_all

 

in new terminal check docker container: docker container ls 

docker cp [container_name]:/opt/redpill-load/images/redpill-DS3615xs_*_*.img /home/[user]/

 

except error of my side and a config of the json in the docker to define the sn + mac etc... :)

 

trying it now

  • Like 1
Link to comment
Share on other sites

1 hour ago, nemesis122 said:

Hi all

Thank you for all your hardwork.

Maybe im stupid :-) im not a developer.

Could you help me how can i create/use this loader/with the docker file from haydibe ?

Import in docker (How) ?? install Linux and then with ssh ?? 

thank you for a small guide for a noob.

thanks

I am a noob too, here is what I have done.

install ubuntu (I uses 18lts), and choose docker runtime during install (or can install later)

`sudo -i`

`apt update`

`apt install docker.io`

`apt install jq`

`apt install unzip`

download the zip file (I uses v0.51)

`unzip redpill*.zip`

`vi user_config.json`

    - update vid/pid  in format (0x0000)

    - update mac address in format 001122334455

run

`chmod +x edpill_tool_chain.sh`

`edpill_tool_chain.sh build bromolow-7.0-41222`

or replace bromolow-7.0-41222 with otherr version you desired

`edpill_tool_chain.sh run bromolow-7.0-41222`

you will then be redirect into the docker

`make build_all`

`exit`

`cd images`

the img file is here

 

Edited by mcdull
  • Like 3
  • Thanks 1
Link to comment
Share on other sites

3 minutes ago, mcdull said:

I am a noob too, here is what I have done.

install ubuntu (I uses 18lts), and choose docker runtime during install (or can install later)

 

careful that with version 5.1, it doesn't seem to work anymore on ubuntu...

it think it is bound to debian distro now. 

  • Like 1
Link to comment
Share on other sites

3 minutes ago, titoum said:

 

careful that with version 5.1, it doesn't seem to work anymore on ubuntu...

it think it is bound to debian distro now. 

i did it in ubuntu 18.

debian 8 is defined inside docker. 

and it run just fine under ubuntu

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

13 minutes ago, mcdull said:

i did it in ubuntu 18.

debian 8 is defined inside docker. 

and it run just fine under ubuntu

i will look what is going on with my vm

Capture.PNG

 

 

5 85.70 W: Failed to fetch http://deb.debian.org/debian/dists/jessie/InRelease  
#5 85.70 
#5 85.70 W: Failed to fetch http://security.debian.org/debian-security/dists/jessie/updates/InRelease  
#5 85.70 
#5 85.70 W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/InRelease  
#5 85.70 
#5 85.70 W: Failed to fetch http://security.debian.org/debian-security/dists/jessie/updates/Release.gpg  Temporary failure resolving 'security.debian.org'
#5 85.70 
#5 85.70 W: Failed to fetch http://deb.debian.org/debian/dists/jessie/Release.gpg  Temporary failure resolving 'deb.debian.org'
#5 85.70 
#5 85.70 W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/Release.gpg  Temporary failure resolving 'deb.debian.org'
#5 85.70 
#5 85.70 W: Some index files failed to download. They have been ignored, or old ones used instead.
 

 

if i try on my pc: http://deb.debian.org/debian/dists/jessie/InRelease  

 

Not Found

The requested URL was not found on this server.

 

have you done some specific name resolution @mcdull or i am just unlucky that repo is just down? :D

 

Edited by titoum
Link to comment
Share on other sites

38 minutes ago, titoum said:

i will look what is going on with my vm

Capture.PNG

 

 

5 85.70 W: Failed to fetch http://deb.debian.org/debian/dists/jessie/InRelease  
#5 85.70 
#5 85.70 W: Failed to fetch http://security.debian.org/debian-security/dists/jessie/updates/InRelease  
#5 85.70 
#5 85.70 W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/InRelease  
#5 85.70 
#5 85.70 W: Failed to fetch http://security.debian.org/debian-security/dists/jessie/updates/Release.gpg  Temporary failure resolving 'security.debian.org'
#5 85.70 
#5 85.70 W: Failed to fetch http://deb.debian.org/debian/dists/jessie/Release.gpg  Temporary failure resolving 'deb.debian.org'
#5 85.70 
#5 85.70 W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/Release.gpg  Temporary failure resolving 'deb.debian.org'
#5 85.70 
#5 85.70 W: Some index files failed to download. They have been ignored, or old ones used instead.
 

 

if i try on my pc: http://deb.debian.org/debian/dists/jessie/InRelease  

 

Not Found

The requested URL was not found on this server.

 

have you done some specific name resolution @mcdull or i am just unlucky that repo is just down? :D

 

if you look into the json, he uses different debian base image. only apollolake + 7.0 uses debian 10, other uses debian 8.

Let me try apollolake + 7.0.

 

Update:

I confirmed no problem under ubuntu 18 to generate apollolake + 7.0 images

Edited by mcdull
Link to comment
Share on other sites

42 minutes ago, titoum said:

i will look what is going on with my vm

Capture.PNG

 

 

5 85.70 W: Failed to fetch http://deb.debian.org/debian/dists/jessie/InRelease  
#5 85.70 
#5 85.70 W: Failed to fetch http://security.debian.org/debian-security/dists/jessie/updates/InRelease  
#5 85.70 
#5 85.70 W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/InRelease  
#5 85.70 
#5 85.70 W: Failed to fetch http://security.debian.org/debian-security/dists/jessie/updates/Release.gpg  Temporary failure resolving 'security.debian.org'
#5 85.70 
#5 85.70 W: Failed to fetch http://deb.debian.org/debian/dists/jessie/Release.gpg  Temporary failure resolving 'deb.debian.org'
#5 85.70 
#5 85.70 W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/Release.gpg  Temporary failure resolving 'deb.debian.org'
#5 85.70 
#5 85.70 W: Some index files failed to download. They have been ignored, or old ones used instead.
 

 

if i try on my pc: http://deb.debian.org/debian/dists/jessie/InRelease  

 

Not Found

The requested URL was not found on this server.

 

have you done some specific name resolution @mcdull or i am just unlucky that repo is just down? :D

 

probably network config issue.

https://stackoverflow.com/questions/61567404/docker-temporary-failure-resolving-deb-debian-org

 

Link to comment
Share on other sites

52 minutes ago, titoum said:

careful that with version 5.1, it doesn't seem to work anymore on ubuntu...

it think it is bound to debian distro now. 

Wrong assumption :) It should work on whetever disto that has a recent docker version (if not, try to disable "use_buildkit" in the settings -> will slow down the image build by a lot!) 

 

If you start the script with a none or wrong number of parameters, an unknown action or a non existing platform_version configuration -> you should get a help message that shows the available actions and platform_versions.

Link to comment
Share on other sites

52 minutes ago, titoum said:

5 85.70 W: Failed to fetch http://deb.debian.org/debian/dists/jessie/InRelease  
#5 85.70 
#5 85.70 W: Failed to fetch http://security.debian.org/debian-security/dists/jessie/updates/InRelease  
#5 85.70 
#5 85.70 W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/InRelease  
#5 85.70 
#5 85.70 W: Failed to fetch http://security.debian.org/debian-security/dists/jessie/updates/Release.gpg  Temporary failure resolving 'security.debian.org'
#5 85.70 
#5 85.70 W: Failed to fetch http://deb.debian.org/debian/dists/jessie/Release.gpg  Temporary failure resolving 'deb.debian.org'
#5 85.70 
#5 85.70 W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/Release.gpg  Temporary failure resolving 'deb.debian.org'
#5 85.70 
#5 85.70 W: Some index files failed to download. They have been ignored, or old ones used instead.

High likely, you either use a http_proxy to access internet (which the container so far does not know about) or you have a DNS Problem. 

Link to comment
Share on other sites

12 minutes ago, haydibe said:

High likely, you either use a http_proxy to access internet (which the container so far does not know about) or you have a DNS Problem. 

none of those.

 

if i do a curl from terminal then it works fine.

it seems more related to the docker itself. i am on ubuntu 20.04. i dont know if a big difference with 18.

 

will keep looking on my side and let you know if i found the culprit if other fall in same hole 😭

 

edit:

 

sudo usermod -aG docker ${USER}

sudo chown "$USER":"$USER" /home/"$USER"/.docker -R

sudo chmod g+rwx "$HOME/.docker" -R

sudo chmod 666 /var/run/docker.sock

 

sudo systemctl restart docker

 

no more errors o//

 

Edited by titoum
Link to comment
Share on other sites

What does "related to the docker itself" mean?  The docker engine or the build container?  Can you try again with the official docker version: https://docs.docker.com/engine/install/ubuntu/

 

Odd that this proving your user access to the docker group and allowing it to use the docker.sock is the the solution.

Since you already have been able to start the build, you have already been able to instruct the docker engine to start the build.

The docker engines is always run as root... Thus whoever is able to use the docker cli, can do everything with the docker engine.

 

But hey: whatever works :)

Edited by haydibe
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...