RedPill - the new loader for 6.2.4 - Discussion


Recommended Posts

16 hours ago, haydibe said:

Usage:

- (on host) configure the Makefile and configure TARGET_PLATFORM (default: bromolow) and TARGET_VERSION (default: 6.2 - will build 6.2.4)

- (on host) create your own user_config.json or edit the USERCONFIG_* variables in the Makefile

- (on host) build image: make build_image

- (on host) run container: make  run_container

- (in container) build redpill.ko module and redpill bootloader image: make build_all

 

After running `make build_all` the created redpill bootloader image will be present in the ./image folder on the host.

 

Tested with hosts: Ubuntu 18.04 VM, Ubuntu 20.04 WSL2 and XPE  (the make binary to build on Synology/XPE can be found here)

 

Dependencies: make and docker

redpill-tool-chain_x86_64_v0.4.zip 5.01 kB · 38 downloads


can you share how you start your docker? i am having trouble to use the loop device.

i wanted to have some peek on how things are done :-)

 

docker run -i -t --privileged=true --cap-add SYS_ADMIN  --device /dev/loop0 --device /dev/loop-control f6d8e7ba79f5 /bin/bash

 

mount: /opt/redpill-load/build/1628521930/img-mnt/part-1: special device /dev/loop13p1 does not exist.

 

thank you.

 

Link to post
Share on other sites

I have just suggestion - if someone want's to report successful installation of DSM 6.24 or 7.0 with redpill - could you use template as in normal reports?
After all it is interesting what hardware, what mode baremetal or virtual, what exactly version of installation file and what version of loader. And than maybe some details.

  • Like 3
Link to post
Share on other sites
8 hours ago, ThorGroup said:

For any error 13 a full log from /var/log/messages and install_log is needed. However, in general VMWare will not work until we implement SATA DOM as VMWare Workstation/Fusion/ESXi doesn't allow creating virtual USB drives.

 

To add to that EFI boot is problematic in many way as it tries to initialize devices before Linux can touch them. This can end poorly on some hardware when running DSM. That's why we disabled EFI in the GRUB deliberately.

 

What if you attach and boot from a real USB stick (burned with the correct image) ? do we still rely on the /dev/synoboot creation ? I do not have /dev/synoboot device on VMware workstation when i boot and telnet, altough i have the correct VID:PID set for the attached USB stick.

Link to post
Share on other sites
57 minutes ago, titoum said:


can you share how you start your docker? i am having trouble to use the loop device.

i wanted to have some peek on how things are done :-)

 

docker run -i -t --privileged=true --cap-add SYS_ADMIN  --device /dev/loop0 --device /dev/loop-control f6d8e7ba79f5 /bin/bash

 

mount: /opt/redpill-load/build/1628521930/img-mnt/part-1: special device /dev/loop13p1 does not exist.

 

thank you.

 


i don't know what i have done wrong but after playing a bit around the losetup, it worked fine.

 

those are the steps i made on my ubuntu 20.04 LTS, if someone is interested:

 

sudo apt install make curl docker docker.io missing package for the ootb
sudo chown [user]:docker /var/run/docker.sock grant your user access to docker
   
make -f Makefile will create the docker based on the haydibe file
   
docker images will return you list of docker available
   
sudo docker run -i -t --privileged=true  --device /dev/loop0 --device /dev/loop-control [image ID] /bin/bash
 
will allow you to go into your docker based on the previous image ID
cp user_config.json.template user_config.json create your own config
vi user_config.json edit parameters for your own values
   
make build_all to kick in build
   
docker container ls fetch the name of your docker container
   
docker cp [container_name]:/opt/redpill-load/images/redpill-DS3615xs_6.2.4-25556_*.img /home/[user]/ retrieve your fresh image into your home folder
   

 

still didnt try yet to boot the generated .img

Link to post
Share on other sites
6 minutes ago, pocopico said:

What if you attach and boot from a real USB stick (burned with the correct image) ?

 

I tried this with ESXi and passing through the USB stick. Apparently, ESXi can't boot from any USB pass through devices. And I tried a method that uses a simple bootloader ISO first (https://www.virtualizationhowto.com/2019/01/boot-esxi-virtual-machine-from-passthrough-usb/) which then creates a boot menu on the screen that does show the physical USB as an option, but when I select it, the screen freezes and nothing happens.

Link to post
Share on other sites
1 minute ago, ilovepancakes said:

 

I tried this with ESXi and passing through the USB stick. Apparently, ESXi can't boot from any USB pass through devices. And I tried a method that uses a simple bootloader ISO first (https://www.virtualizationhowto.com/2019/01/boot-esxi-virtual-machine-from-passthrough-usb/) which then creates a boot menu on the screen that does show the physical USB as an option, but when I select it, the screen freezes and nothing happens.

I am able to boot from an IDE disk image and even though i have the usb device connected its will not be detected as /dev/synoboot device. I also tried to have the IDE device set with the VID:PID but with the same results.

Link to post
Share on other sites
On 8/8/2021 at 4:50 AM, cwiggs said:

 

I've never been able to get DS918 to install in proxmox, have other people?  It boots, but then just seems to stop booting the kernel all the way.  The last thing in serial0 is:

 

 

try different cpu type.  e.g. Qemu64, Kvm64, QemuAll

Link to post
Share on other sites

@titoum  Please make sure to use the recent version of the script and actualy follow the instructions in "usage:". The "make build_image" commands and "make run_container" commands are the litteral commands to build the image and run the container. Also there is no reason to copy the user_config.json.template file to user_config.json inside the container. If you create the file in the folder where the "outer" Makefile is, it will be mounted into the container.

 

 

Edited by haydibe
  • Like 1
Link to post
Share on other sites
2 minutes ago, haydibe said:

@titoum  Please make sure to use the recent version of the script and actualy follow the instructions in "usage:". The "make build_image" commands and "make run_container" commands are the litteral commands to build the image and run the container. Also there is not to copy the user_config.json.template file to user_config.json inside the container. If you create one in the folder where the "oute" Makefile is, it will be mounted into the container.

 


ah my bad, i tough that build_all would just do the image and then container.

for json..my habit to rename template to customize 😛

Link to post
Share on other sites

`make build_all`  is a build target isinde the container. Though, it is not the one you use to creat the image or run the container. The "template" is just copied from the redpill-load readme.md.

 

By default the only thing that needs to be done inside the container is to execute `make build_all`, which will build redpill.ko and the loader image.

 

Link to post
Share on other sites

failed to mount boot device /dev/synoboot2 /tmp/bootmnt (errno:2)

Jan  1 00:00:43 updater: updater.c:7033 This is X86 platform
Jan  1 00:00:43 updater: boot/boot_lock.c(228): failed to mount boot device /dev/synoboot2 /tmp/bootmnt (errno:2)
Jan  1 00:00:43 updater: updater.c:6494 Failed to mount boot partition
Jan  1 00:00:43 updater: updater.c:3118 No need to reset reason for v.41890 
Jan  1 00:00:43 updater: updater.c:7636 Failed to accomplish the update! (errno = 21)
Jan  1 00:00:43 install.cgi: ninstaller.c:1546 Executing [/tmpData/upd@te/updater -v /tmpData > /dev/null 2>&1] error[21]

 

I think this loader do not have /dev/synoboot* right?
In that case how can I mount boto device?

 

Link to post
Share on other sites
On 8/8/2021 at 12:55 AM, dodo-dk said:

@cwiggs

It works, something you do wrong. VM_ID have you changed in the line?

This is my args line in Proxmox 7:

 


args: -device 'qemu-xhci,addr=0x18' -drive 'id=synoboot,file=/var/lib/vz/images/100/redpill-DS3615xs_6.2.4-25556_b1628330868.img,if=none,format=raw' -device 'usb-storage,id=synoboot,drive=synoboot,bootindex=5'

 

I am using Proxmox as well, and still not able to see /dev/synoboot*

are you using 0x46F4, 0x0001 as usb vid/pid?

Link to post
Share on other sites
1 minute ago, mcdull said:

I am using Proxmox as well, and still not able to see /dev/synoboot*

are you using 0x46F4, 0x0001 as usb vid/pid?

Yes, those are the correct vid/pids.  You need to make sure the boot device is mounted via usb, any other way will not work with this loader.

Link to post
Share on other sites
8 minutes ago, cwiggs said:

Yes, those are the correct vid/pids.  You need to make sure the boot device is mounted via usb, any other way will not work with this loader.

DSM7
args: -device 'qemu-xhci,addr=0x18' -drive 'id=synoboot,file=/var/lib/vz/images/303/redpill-DS918+_7.0-41890_b1628529091.img,if=none,format=raw' -device 'usb-storage,id=synoboot,drive=synoboot,bootindex=5'

 

DSM6.2.3 (Working Jun Loader)

args: -device 'qemu-xhci,id=usb-ctl-synoboot,addr=0x18' -drive 'id=usb-drv-synoboot,file=/var/lib/vz/images/301/synoboot.img,if=none,format=raw' -device 'usb-storage,id=usb-stor-synoboot,bootindex=1,removable=off,drive=usb-drv-synoboot' 

 

Any hints for me? 

Link to post
Share on other sites
1 hour ago, mcdull said:

I am using Proxmox as well, and still not able to see /dev/synoboot*

are you using 0x46F4, 0x0001 as usb vid/pid?

I think I'm having the same issue actually.  The System boots but when I install the .pat file I get this in serial0:

 

Quote

Jan  1 00:02:23 updater: updater.c:6782 ==== Start flash update ====
Jan  1 00:02:23 updater: updater.c:6786 This is X86 platform
Jan  1 00:02:23 updater: boot/boot_lock.c(228): failed to mount boot device /dev/synoboot2 /tmp/bootmnt (errno:2)
Jan  1 00:02:23 updater: updater.c:6247 Failed to mount boot partition
Jan  1 00:02:23 updater: updater.c:3027 No need to reset reason for v.41222
Jan  1 00:02:23 updater: updater.c:7389 Failed to accomplish the update! (errno = 21)
Jan  1 00:02:23 install.cgi: ninstaller.c:1454 Executing [/tmpData/upd@te/updater -v /tmpData > /dev/null 2>&1] error[21]
-Jan  1 00:02:28 install.cgi: ninstaller.c:121 Mount partion /dev/md0 /tmpRoot
Jan  1 00:02:28 install.cgi: ninstaller.c:1423 Moving updater for configuration upgrade...cmd=[/bin/mv -f /tmpData/upd@te/updater /tmpRoot/.updater > /dev/null 2>&1]
Jan  1 00:02:28 install.cgi: ninstaller.c:150 umount partition /tmpRoot
Jan  1 00:02:28 install.cgi: ErrFHOSTCleanPatchDirFile: After updating /tmpData/upd@te...cmd=[/bin/rm -rf /tmpData/upd@te > /dev/null 2>&1]
Jan  1 00:02:28 install.cgi: ErrFHOSTCleanPatchDirFile: Remove /tmpData/upd@te.pat...
Jan  1 00:02:28 install.cgi: ErrFHOSTDoUpgrade(1702): child process failed, retv=-21
Jan  1 00:02:28 install.cgi: ninstaller.c:1719(ErrFHOSTDoUpgrade) err=[-1]
Jan  1 00:02:28 install.cgi: ninstaller.c:1723(ErrFHOSTDoUpgrade) retv=[-21]
Jan  1 00:02:28 install.cgi: install.c:409 Upgrade by the manual patch fail.
Jan  1 00:02:28 install.cgi: install.c:678 Upgrade by the uploaded patch /tmpData/@autoupdate/upload.pat fail.
Jan  1 00:00:00 install.cgi: ninstaller.c:150 umount partition /tmpData

Same /dev/synoboot2 /tmp/bootmnt error.

 

EDIT: I was able to get this working.  The cause of the error was the grub.cfg had the incorrect values.  If you are getting a similar error, verify the grub.cfg has the correct values.

Edited by cwiggs
Link to post
Share on other sites
59 minutes ago, ilovepancakes said:

 

I tried this with ESXi and passing through the USB stick. Apparently, ESXi can't boot from any USB pass through devices. And I tried a method that uses a simple bootloader ISO first (https://www.virtualizationhowto.com/2019/01/boot-esxi-virtual-machine-from-passthrough-usb/) which then creates a boot menu on the screen that does show the physical USB as an option, but when I select it, the screen freezes and nothing happens.

 

Sure it can.  You just have to go into the BIOS during boot and set it up.

Link to post
Share on other sites

No config for DS3615xs with 7.0 
 

[#] Checking runtime for required tools... [OK]
[!] There doesn't seem to be a config for DS3615xs platform running 7.0-41890 (checked /opt/redpill-load/config/DS3615xs/7.0-41890/config.json)

*** Process will exit ***

 

Link to post
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.