RedPill Tinycore loader


Recommended Posts

14 minutes ago, chickey said:

I got things working on a VM and super impressed to i'm trying things on a physical machine which is an older optiplex 790

 

I've done the satamap now and it shows 6 disks which does seem right but i'm getting the "Something went wrong" error.

 

Would anyone be able to point me in the right direction?

 

image.thumb.png.1e474eab18b3a7a269cbba5d944e74c6.png

 

image.thumb.png.a56904329b4113e645dd4edaed8407d2.png

 

Hi,

 

Once booted and see this "Something went wrong",  could you telnet to this IP with user root and check what are the listed disks with fdisk -l |grep sd ?

Link to post
Share on other sites
7 minutes ago, chickey said:

Should telnet be up automatically, i can't seem to telnet or ssh to the ip

 

There is a process to enable the telnet service from the browser but cant find it. You can add the early-telnet extension from my repo though.

 

You can still try to set SataPortMap=1 . Once on the GRUB menu press <e> and edit manually the linux line and press F10 to boot

Edited by pocopico
Link to post
Share on other sites
3 minutes ago, pocopico said:

 

There is a process to enable the telnet service from the browser but cant find it. You can add the early-telnet extension from my repo though.

 

You can still try to set SataPortMap=1 . Once on the GRUB menu press <e> and edit manually the linux line and press F10 to boot

 

@pocopicowhat is the difference between:

Link to post
Share on other sites
16 hours ago, gquiring said:

I really screwed myself now.  One of the tips for the boot issue was to remove the CMOS battery.  Well I tried and managed to break the battery holder off the surface mount board!  I tried soldering it back but the solder pad is gone, it came off with the holder.  

PXL_20220111_173115793.MP.jpg

Easy to fix, hotglue for battery support, wire to replace broken trace.
It's my hobby fix electronics things 

  • Like 1
Link to post
Share on other sites
13 minutes ago, Dreadnought said:

 

And i thought noboby would ask :D  . Anyway its a different story.

 

Its just a left over from an effort to make a rasberry multitool for redpill. The plan was to have raspberry providing USB serial console, USB bootdisk, Ethernet to DSM. It was an overkill but its very promising once we figure out how to handle the PM messages coming from redpill (Buzzer control, led output etc)

 

 

Edited by pocopico
  • Haha 1
Link to post
Share on other sites

Easy way to do an inplace upgrade, did it on 2 N54L and one Microserver Gen8 for ds3615xs

 

Login via SSH as admin then change to root

 

sudo dd if=tinycoreimage.img of=/dev/synoboot bs=1M

 

check via fdisk if bootable flag is set on synoboot1, if not set it.

 

Reboot and find the nas on your dhcp server, then login via ssh to tinycore and run below commands

 

./rploader.sh update now

./rploader.sh identifyusb now

./rploader.sh serialgen DS3615xs now

./rploader.sh satamap now

./rploader.sh build bromolow-7.0.1-42218

 

And reboot the server, use synology assistant to locate the server and install the pat

 

 

  • Like 1
Link to post
Share on other sites
22 minutes ago, pocopico said:

 

There is a process to enable the telnet service from the browser but cant find it. You can add the early-telnet extension from my repo though.

 

You can still try to set SataPortMap=1 . Once on the GRUB menu press <e> and edit manually the linux line and press F10 to boot

That got me further, if i set the SataPortMap= to the number of drives on that controller it seems happier.

 

I can now get to the next screen and it fails at %55 after pointing it to the .pat file which was copied down after the build

image.thumb.png.a2d50795251fe19f5e893eb791e6e958.png

Link to post
Share on other sites
2 minutes ago, chickey said:

That got me further, if i set the SataPortMap= to the number of drives on that controller it seems happier.

 

I can now get to the next screen and it fails at %55 after pointing it to the .pat file which was copied down after the build

image.thumb.png.a2d50795251fe19f5e893eb791e6e958.png

 

After that you have the telnet service enabled. Try to telnet and run an fdisk -l to see if you have synoboot listed. If not you have either selected SATA on boot or your USB vid/pid is wrong.

Link to post
Share on other sites

I'm up and working now which is cool!!!

 

Manually adding the extension failed as i get the screenshot.  But i didn't need it in the end as you were correct i hadn't set the vid/pid, sorry been changing that many things and rebooting i missed it this time.

 

I also get an error complaining at line 1061 when doing a ./rploader.sh listmods now but i guess that is down to my custom config file so shall investigate.

 

I have a nvme on a pcie adaptor so will see about getting that working next also, for now though i'm super happy.

 

thanks for the help

 

image.thumb.png.4d15fe2c768a8420c06a23c18c235e43.png

Link to post
Share on other sites

I now succeded with three things:

  • got a running DSM 7 VM in VMware Player 16 (Intel e1000e and disks as SATA, tc-boot-vmdk and additional 16GB Disk)
  • exported it and imported this one on ESXi 6.7 U3 on HP Gen 8 Micro, works (with steps below)
  • Boot Tiny Core 4.4 bare metal on HP Gen8 Micro

 

Export was done with OVF Tool v4.41:

"C:\Program Files\VMware\VMware OVF Tool\ovftool.exe" --allowExtraConfig --exportFlags=mac,uuid,extraconfig "x:\vms\tc\tc.vmx" "x:\export\tc.ovf"

 

And important add an extra advanced config for the VM because it exports the used MAC as static but uses the reserved range for VMware if used a generated one (should have set a custom one before manually):

"ethernet0.CheckMACAddress" = "FALSE"

 

 

What fails for me up to now:

  • using the given VMDK is not directly possible, becausw wrong format, convertion on ESXi with vmkfstools -i old.vmdk new.vmdk -d thin seems to destroy some stuff => ovftool seems to work better here
  • Build with rploader inside the VM on ESXi 6.7U3 on HP Gen 8 Micro => after reboot Grub is destroyed, error something with arch / magic ELF ...
    Has anybode been successful with building it in Tiny Core on ESXi 6.7? Any hints?
     
  • Build with rploader on Bare Metal HP Gen8 Micro => build succeeds, but I think it fails to boot because I read somewhere that newer DSM doesn't work with the old NICs, cannot find it currently ... do I need to specify an extra module manually?

 


0000:03:00.0 14e4:165f 103c:2133  11/   /0x33 A V ntg3         vmnic0
0000:03:00.1 14e4:165f 103c:2133   7/   /0x34 B V ntg3         vmnic1

Name    PCI Device    Driver  Admin Status  Link Status  Speed  Duplex  MAC Address         MTU  Description
------  ------------  ------  ------------  -----------  -----  ------  -----------------  ----  -------------------------------------------------------
vmnic0  0000:03:00.0  ntg3    Up            Up            1000  Full    1c:98:ec:xx:xx:xx  1500  Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet
vmnic1  0000:03:00.1  ntg3    Up            Up             100  Full    1c:98:ec:xx:xx:xx  1500  Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet

 

  • Build in Virtual Box OK, but not able to find it after reboot
     

 

 

Edited by tester
Link to post
Share on other sites

First of all great job Pocopico, the tinycore works perfectly to be able to generate the new boot loader option.

 

I've a QNAP working with Apollake DSM 7.0 perfectly with previous redpill loader. Currently I'm trying to use your new bootloader with DSM 6.2.4 Apollake, the first installation works fine and the nas run perfectly.

 

The problem comes when I tried to apply the Update 3 of version 6.2.4, the system reboot normally the nas after the installation but in the  boot always the nas enter in migration mode in bucle, repair, boot migration mode, ...

 

Do you have some information about it? I've tried to find some new configuration for the global_config.json without luck, at the end the version is the same 6.2.4-25556

 

Thank you for your help.

Link to post
Share on other sites
12 minutes ago, jarugut said:

First of all great job Pocopico, the tinycore works perfectly to be able to generate the new boot loader option.

 

I've a QNAP working with Apollake DSM 7.0 perfectly with previous redpill loader. Currently I'm trying to use your new bootloader with DSM 6.2.4 Apollake, the first installation works fine and the nas run perfectly.

 

The problem comes when I tried to apply the Update 3 of version 6.2.4, the system reboot normally the nas after the installation but in the  boot always the nas enter in migration mode in bucle, repair, boot migration mode, ...

 

Do you have some information about it? I've tried to find some new configuration for the global_config.json without luck, at the end the version is the same 6.2.4-25556

 

Thank you for your help.

 

So you are install succesfully 6.2.4 using tinycore redpill and then you update to U3 and you end up in migration mode right ?

 

Well if i'm not mistaken after the update you will need to recreate the image from scratch. And that is because, updates would overwrite parts of the loader rendering it unusable. 

 

Can you try to update and then recreate the image and try to boot to see how that goes ? If you have already done so, make sure you keep the same Serial number and mac address otherwise DSM would think you've mograted the disks to another synology system.

 

Edited by pocopico
Link to post
Share on other sites
42 minutes ago, pocopico said:

Well if i'm not mistaken after the update you will need to recreate the image from scratch. And that is because, updates would overwrite parts of the loader rendering it unusable. 

@pocopico any chance to be more specific?

 

Because, when I first tried to create the loader using the Virtio controller it did not work. I shut down the VM, changed the controller to SATA and went back to TinyCore to re-create the loader but again I could not install the DSM (no disks found). When I deleted the image and began from scratch by setting the controller SATA from the beginning and then attempt to create the loader it did work. Always we have to start from scratch?

Link to post
Share on other sites
19 hours ago, AmiroGarry said:

This is the UEFI Output with 0.4.4

 

 

grafik.thumb.png.f48d67b6029b5be692874f218f6f5e13.png

Redownload the 4.4 version, the partition was not enabled.  He fixed it (a few hours ago) but did not update the version number.  That might be the issue.  

Link to post
Share on other sites

Although I was able to load DSM7 without any issues on the TheCUS N5550, it's not stable.  It's locked up a number of times and rebooted on it's own a few times.  In all cases it was just doing the consistency check with no other activity. 

Link to post
Share on other sites
3 hours ago, gquiring said:

Redownload the 4.4 version, the partition was not enabled.  He fixed it (a few hours ago) but did not update the version number.  That might be the issue.  

I just did a fresh git clone and flashed a usb stick and UFI didn't work for me.

Edited by chickey
Link to post
Share on other sites
В 01.01.2022 в 02:33, pocopico сказал:

Thats an error we often see when no synoboot device is found. Yes you still need to choose USB and have the correct VID:PID

Does also require a USB drive to run in virtual machine Proxmox?

Link to post
Share on other sites

@pocopicoforgive me if I´m not that firm in Shell...

 

Starting this, ends in Terminal in my IPMI or ESXI... tc@box$:

 

There is no GUI, what am I doing wrong. Read your Instructions ten times...tried to: passwd tc

 

"old Password:"... I don't know.

 

Cannot get this startet, sorry for asking :-) maybe basics

Edited by Kaneske
Link to post
Share on other sites
12 hours ago, haydibe said:

bromolow-7.0.1-42218 = DS3615xs

broadwell-7.0.1-42218 = DS3617xs

 

Yep, i'm an idiot.  Thanks haydibe!

 

 

Now building with broadwell, I'm missing tools.  I'v confirmed the toolkit URL is correct and I see an outgoing attempt to get there via firewall.
 

tc@box:~$ sudo ./rploader.sh build broadwell-7.0.1-42218
jq: error (at <stdin>:1): Cannot iterate over null (null)
jq: error (at <stdin>:1): Cannot iterate over null (null)
Loader source : https://github.com/jimmyGALLAND/redpill-load.git Loader Branch : develop
Redpill module source : https://github.com/jimmyGALLAND/redpill-lkm.git : Redpill module branch : develop
Extensions :
Extensions URL :
TOOLKIT_URL : https://sourceforge.net/projects/dsgpl/files/toolkit/DSM7.0/ds.broadwell-7.0.dev.txz/download
TOOLKIT_SHA : e050987fbbab0c246aff2af935b1d8a4140ce490915aa4c92f3c8d163eea970c
SYNOKERNEL_URL : https://sourceforge.net/projects/dsgpl/files/Synology%20NAS%20GPL%20Source/25426branch/broadwell-source/linux-3.10.x.txz/download
SYNOKERNEL_SHA : d3e85eb80f16a83244fcae6016ab6783cd8ac55e3af2b4240455261396e1e1be
COMPILE_METHOD : toolkit_dev
TARGET_PLATFORM       : broadwell
TARGET_VERSION    : 7.0.1
TARGET_REVISION : 42218
REDPILL_LKM_MAKE_TARGET : dev-v7
Checking Internet Access -> OK
Checking if a newer version exists on the repo -> Version is current
Cloning into 'redpill-lkm'...
remote: Enumerating objects: 1055, done.
remote: Counting objects: 100% (1055/1055), done.
remote: Compressing objects: 100% (502/502), done.
remote: Total 1055 (delta 727), reused 874 (delta 546), pack-reused 0
Receiving objects: 100% (1055/1055), 449.38 KiB | 4.36 MiB/s, done.
Resolving deltas: 100% (727/727), done.
Cloning into 'redpill-load'...
remote: Enumerating objects: 463, done.
remote: Counting objects: 100% (52/52), done.
remote: Compressing objects: 100% (47/47), done.
remote: Total 463 (delta 19), reused 27 (delta 3), pack-reused 411
Receiving objects: 100% (463/463), 6.19 MiB | 6.17 MiB/s, done.
Resolving deltas: 100% (175/175), done.
Using static compiled redpill extension
Looking for redpill for : ds3617xs_42218
Getting file https://raw.githubusercontent.com/pocopico/rp-ext/master/redpill/releases/redpill-4.4.180plus-broadwell.tgz
Extracting module
Got redpill-linux-v4.4.180+.ko
Testing modules.alias.json -> File OK
------------------------------------------------------------------------------------------------
It looks that you will need the following modules :


Found VGA Controller : pciid 1234d00001111  Required Extension : bochs_drm
bochs_drm
Searching for matching extension for bochs_drm
Found SATA Controller : pciid 8086d00002922  Required Extension : ahci
Searching for matching extension for ahci
Found SATA Controller : pciid 8086d00002922  Required Extension : ahci
Searching for matching extension for ahci
Found Ethernet Interface : pciid 1af4d00001000 Required Extension :
No matching extension
------------------------------------------------------------------------------------------------
Starting loader creation
Checking user_config.json : Done
Cache directory OK
[#] Checking runtime for required tools...
[-] Couldn't find dpkg in your $PATH
[#] Checking runtime for required tools... [ERR]
[!] Some tools weren't available - install them first

*** Process will exit ***
FAILED : Loader creation failed check the output for any errors

 

Link to post
Share on other sites

i check the 4.4 Version but UEFI is not working. I check this with a laptop, server and VM. Booting is not possible. I check the orginal TinyCorePure64-12.0.iso and this is running with UEFI Bios.

Edited by AmiroGarry
Link to post
Share on other sites
5 hours ago, pocopico said:

 

So you are install succesfully 6.2.4 using tinycore redpill and then you update to U3 and you end up in migration mode right ?

 

Well if i'm not mistaken after the update you will need to recreate the image from scratch. And that is because, updates would overwrite parts of the loader rendering it unusable. 

 

Can you try to update and then recreate the image and try to boot to see how that goes ? If you have already done so, make sure you keep the same Serial number and mac address otherwise DSM would think you've mograted the disks to another synology system.

 

 

 

let me try again to recreate the bootloader, I've recreated I think with the same user_config.json because I used the backup option but let me check it and try again. 

Thank you

Link to post
Share on other sites
36 minutes ago, Invaliduser said:

Yep, i'm an idiot.  Thanks haydibe!

 

 

Now building with broadwell, I'm missing tools.  I'v confirmed the toolkit URL is correct and I see an outgoing attempt to get there via firewall.
 



tc@box:~$ sudo ./rploader.sh build broadwell-7.0.1-42218
jq: error (at <stdin>:1): Cannot iterate over null (null)
jq: error (at <stdin>:1): Cannot iterate over null (null)
Loader source : https://github.com/jimmyGALLAND/redpill-load.git Loader Branch : develop
Redpill module source : https://github.com/jimmyGALLAND/redpill-lkm.git : Redpill module branch : develop
Extensions :
Extensions URL :
TOOLKIT_URL : https://sourceforge.net/projects/dsgpl/files/toolkit/DSM7.0/ds.broadwell-7.0.dev.txz/download
TOOLKIT_SHA : e050987fbbab0c246aff2af935b1d8a4140ce490915aa4c92f3c8d163eea970c
SYNOKERNEL_URL : https://sourceforge.net/projects/dsgpl/files/Synology%20NAS%20GPL%20Source/25426branch/broadwell-source/linux-3.10.x.txz/download
SYNOKERNEL_SHA : d3e85eb80f16a83244fcae6016ab6783cd8ac55e3af2b4240455261396e1e1be
COMPILE_METHOD : toolkit_dev
TARGET_PLATFORM       : broadwell
TARGET_VERSION    : 7.0.1
TARGET_REVISION : 42218
REDPILL_LKM_MAKE_TARGET : dev-v7
Checking Internet Access -> OK
Checking if a newer version exists on the repo -> Version is current
Cloning into 'redpill-lkm'...
remote: Enumerating objects: 1055, done.
remote: Counting objects: 100% (1055/1055), done.
remote: Compressing objects: 100% (502/502), done.
remote: Total 1055 (delta 727), reused 874 (delta 546), pack-reused 0
Receiving objects: 100% (1055/1055), 449.38 KiB | 4.36 MiB/s, done.
Resolving deltas: 100% (727/727), done.
Cloning into 'redpill-load'...
remote: Enumerating objects: 463, done.
remote: Counting objects: 100% (52/52), done.
remote: Compressing objects: 100% (47/47), done.
remote: Total 463 (delta 19), reused 27 (delta 3), pack-reused 411
Receiving objects: 100% (463/463), 6.19 MiB | 6.17 MiB/s, done.
Resolving deltas: 100% (175/175), done.
Using static compiled redpill extension
Looking for redpill for : ds3617xs_42218
Getting file https://raw.githubusercontent.com/pocopico/rp-ext/master/redpill/releases/redpill-4.4.180plus-broadwell.tgz
Extracting module
Got redpill-linux-v4.4.180+.ko
Testing modules.alias.json -> File OK
------------------------------------------------------------------------------------------------
It looks that you will need the following modules :


Found VGA Controller : pciid 1234d00001111  Required Extension : bochs_drm
bochs_drm
Searching for matching extension for bochs_drm
Found SATA Controller : pciid 8086d00002922  Required Extension : ahci
Searching for matching extension for ahci
Found SATA Controller : pciid 8086d00002922  Required Extension : ahci
Searching for matching extension for ahci
Found Ethernet Interface : pciid 1af4d00001000 Required Extension :
No matching extension
------------------------------------------------------------------------------------------------
Starting loader creation
Checking user_config.json : Done
Cache directory OK
[#] Checking runtime for required tools...
[-] Couldn't find dpkg in your $PATH
[#] Checking runtime for required tools... [ERR]
[!] Some tools weren't available - install them first

*** Process will exit ***
FAILED : Loader creation failed check the output for any errors

 


you need to edit manually redpill-load/include/runtime.sh 

 

And comment the line by adding a # in front of the line.

 

#[dpkg]="dpkg --version" # extract flashupdate

Edited by pocopico
  • Thanks 1
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.