Jump to content
XPEnology Community

TinyCore RedPill Loader Build Support Tool ( M-Shell )


Peter Suh

Recommended Posts

13 hours ago, adamob said:


bug?

executing the command ./boot.sh and dsm are loaded.

friend autoupdated to 0.0.6c now

 

  pic (Hide contents)

IMG_4832.thumb.jpeg.6dca66936999e7ec06716949249094c8.jpeg

 

upd:

friend updated to 0.0.6d, problem repeated randomly. For example: booting, mounting failed, reboot, mounting failed again, reboot, booting ok )

 

 

instead of ./boot.sh
Can you send me the result of commanding blkid ?

 

In normal case, it should look like below.

 

564409965_2023-04-263_05_06.thumb.png.1ac701613dc41f11641245b3cbbc95a2.png

Link to comment
Share on other sites

Hello @Peter Suh

 

I'm trying M shell for near the first time on Proxmox.

 

I don't know why, but it seems I must comment 357/358 lines to set myself SataPortMap and DiskIdxMap in user_conf to make loader works.


If I don't do this, as soon as loader boot DSM, VM reboot.

 

My VM is set to Q35 machine

SATA0 as 32G disk

SATA1 as 1G loader

boot order set to SATA1

 

With all loaders (ARPL too) I usually set :

SataPortMap=18

DiskIdxMap=1000

 

Because I know it works fine with my proxmox VM conf (I don't use more than 4 real disks)

 

With Q35 machine there is a dummy sata controller. Using SataPortMap=18 and DiskIdxMap=1000 set the dummy sata controller after the real used one with disks and loader.

 

It worked to with M Shell as soon as I commented 357/358 lines as you suggested in some post above.

 

Link to comment
Share on other sites

On 3/25/2023 at 3:18 PM, Peter Suh said:

[NOTICE]

 

Multilingual support for M SHELL for TCRP menu.


Currently, nine languages are supported: Korean/Chinese/Japanese/Russian/French/German/Spanish/Italian/Brazilian.


English is included as standard.


Because of this, the version has been raised to 0.9.4.3-1 .


This is a pre-built version of the Tinycore Unicode package for multilingual support.


https://github.com/PeterSuh-Q3/tinycore-redpill/releases/tag/v0.9.4.3-1

 

 

 

 

 Hi! How to change language? It starts in Korean language (I suppose), and I can't understand... 😅

Edited by maxime
Link to comment
Share on other sites

3 hours ago, maxime said:

 

 Hi! How to change language? It starts in Korean language (I suppose), and I can't understand... 😅

 

I will remake the default image to use English instead of Korean.
Use "l" key to switch language on Korean menu.
It will change to language switching window.

  • Thanks 1
Link to comment
Share on other sites

3 hours ago, Orphée said:

Hello @Peter Suh

 

I'm trying M shell for near the first time on Proxmox.

 

I don't know why, but it seems I must comment 357/358 lines to set myself SataPortMap and DiskIdxMap in user_conf to make loader works.


If I don't do this, as soon as loader boot DSM, VM reboot.

 

My VM is set to Q35 machine

SATA0 as 32G disk

SATA1 as 1G loader

boot order set to SATA1

 

With all loaders (ARPL too) I usually set :

SataPortMap=18

DiskIdxMap=1000

 

Because I know it works fine with my proxmox VM conf (I don't use more than 4 real disks)

 

With Q35 machine there is a dummy sata controller. Using SataPortMap=18 and DiskIdxMap=1000 set the dummy sata controller after the real used one with disks and loader.

 

It worked to with M Shell as soon as I commented 357/358 lines as you suggested in some post above.

 

 

I left SataPortMap/DiskIdxMap empty and dynamically mapped it for beginners and to increase the mapping success rate according to TTG's guidelines.


However, advanced users are not satisfied with the appearance of disk mapping that does not match the outline.


This was a beginner's measure, but I'll modify it as per your instructions in a VM environment.


SataPortMap=18
DiskIdxMap=1000


I will also review stability in as many situations as possible.
You can help too.

Link to comment
Share on other sites

6 minutes ago, Peter Suh said:

 

I left SataPortMap/DiskIdxMap empty and dynamically mapped it for beginners and to increase the mapping success rate according to TTG's guidelines.


However, advanced users are not satisfied with the appearance of disk mapping that does not match the outline.


This was a beginner's measure, but I'll modify it as per your instructions in a VM environment.


SataPortMap=18
DiskIdxMap=1000


I will also review stability in as many situations as possible.
You can help too.

Be carefull, it only match Proxmox VE using Q35 machine !

 

I don't think these values are revelant for Proxmox VE default i440fx machine settings.

And probably not revelant to ESXi VMWare unless they set SATA0:0 for loader and SATA1:x for disks.

 

Edit : I can't tell why the system reboot with empty values... I can't catch anything as it instant reboot.

 

Edited by Orphée
Link to comment
Share on other sites

20 minutes ago, Orphée said:

Be carefull, it only match Proxmox VE using Q35 machine !

 

I don't think these values are revelant for Proxmox VE default i440fx machine settings.

And probably not revelant to ESXi VMWare unless they set SATA0:0 for loader and SATA1:x for disks.

 

Edit : I can't tell why the system reboot with empty values... I can't catch anything as it instant reboot.

 

 

I just tried the DS3622xs+ with 18/1000 in VMWARE FUSION and it says no disk found.
It seems like a setting that should only be used on the Proxmox of the Q35.
I restored my.sh again.


I also have proxmox as a test environment, but I don't test often.
Even in a recent test, the system did not reboot even with empty values, but it seems that it was not the Q35.
I will also try M SHELL in the same environment as you.

Link to comment
Share on other sites

Actually it seems it has nothing to do with this ...

 

I just did comment the lines in menu.sh on my new test build with default seaBIOS / i440fx and I still have the same behavior...

 

Very strange !

 

So I don't really know why it worked on some build after modifiing the line...

Link to comment
Share on other sites

10 hours ago, Orphée said:

Actually it seems it has nothing to do with this ...

 

I just did comment the lines in menu.sh on my new test build with default seaBIOS / i440fx and I still have the same behavior...

 

Very strange !

 

So I don't really know why it worked on some build after modifiing the line...

 

 

I'm sorry.
I made a mistake editing bundled-exts.json yesterday.


https://github.com/PeterSuh-Q3/redpill-load/commit/3cb688afecf69cb9cc37769172e5c647ed25027e


Except for the fact that the virtio module is duplicated in the processing of virtio modules
It was meant to be, but the insmod process was also missing.


Now, in the ddsml integrated module processing script, seven virtio-related modules including virtio_net are insmod-processed.


Please rebuild TCRP FRIEND.


Q35 enters DSM well without setting SataPortMap or DiskIdxMap.

  • Like 1
Link to comment
Share on other sites

@Peter Suh I had to delete the loader disk and import it again (no space left on device) and then it worked.

I did not need to play with SataPortMap and DiskIdxMap.

 

It detected the DSM install and "repaired" it and it worked.

 

I still have a concern with this message :

image.thumb.png.ce4780e218a87073bffaa0386d151d1e.png 

 

"No space left on device"

 

But DSM booted OK :

image.thumb.png.416adb720ecaad387707653b96a1377a.png

 

Link to comment
Share on other sites

1 hour ago, Orphée said:

@Peter Suh I had to delete the loader disk and import it again (no space left on device) and then it worked.

I did not need to play with SataPortMap and DiskIdxMap.

 

It detected the DSM install and "repaired" it and it worked.

 

I still have a concern with this message :

image.thumb.png.ce4780e218a87073bffaa0386d151d1e.png 

 

"No space left on device"

 

But DSM booted OK :

image.thumb.png.416adb720ecaad387707653b96a1377a.png

 

 

In order to get rid of (No space left on device message), you can build the loader once more as a temporary method.
The root cause is that the size of the P1 partition is too small.
The reason for recording the kernel file on the P1 partition is to boot in Jot Mode.
The original pocopico's TCRP FRIEND was
Jot and FRIEND are provided at the same time in the grub boot screen.
In the case of M Shell, Jot and FRIEND are separated,
In the case of FRIEND, it seems that there is no need to record the kernel file required for Jot.
I'll separate the functions for this part as well.
It can actually happen even if you build the loader alone with Jot,
Let's improve this part.

  • Like 1
Link to comment
Share on other sites

FYI keymap does not work at all for me.

 

No matter what I have qwerty enabled.

Trying to switch to azerty/fr*

 

 

Ok, actually, I made it work :

 

from GUI : sudo loadkmap < /usr/share/kmap/azerty/fr-latin9.kmap

 

exit to prompt

image.png.fa2da7832035fce46d3f78319a8600ea.png

 

Now under prompt the keyboard is azerty

then

startx

 

and then in GUI keyboard is azerty

 

So I think the keymap is not loaded early enough before GUI to take settings into account.

Edited by Orphée
Link to comment
Share on other sites

В 26.04.2023 в 09:46, Peter Suh сказал:

Can you send me the result of commanding blkid ?

 

 

In normal case (no errors, ctrl+c to stop boot and run blkid):

 

Спойлер

root@tcrpfriend:~# blkid
/dev/nvme0n1p1: UUID="532b64cb-3f94-aaf1-87f4-ec19bf6cb4a8" UUID_SUB="8d73b723-65d4-2d40-5822-6d729cd981da" LABEL="NAS:3" TYPE="linux_raid_member" PARTUUID="ba06a92c-01"
/dev/sdd2: SEC_TYPE="msdos" UUID="BF6B-61D1" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="f110ee87-02"
/dev/sdd3: UUID="6234-C863" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="f110ee87-03"
/dev/sdd1: SEC_TYPE="msdos" UUID="BF4E-ADE7" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="f110ee87-01"
/dev/sdb2: UUID="d42de64d-bdba-f923-05d9-49f7b0bbaec7" TYPE="linux_raid_member" PARTUUID="5a6bb940-64a1-460e-8e8f-78b5170fbd67"
/dev/sdb5: UUID="7b568c49-a368-9882-9374-213abae9a4f3" UUID_SUB="2283e9f6-520c-e323-9dc7-26bb76bb4567" LABEL="NAS:2" TYPE="linux_raid_member" PARTUUID="a1fef151-a41d-43e6-8241-899942fcc6f3"
/dev/sdb1: UUID="51fca16c-4cc0-3f15-05d9-49f7b0bbaec7" TYPE="linux_raid_member" PARTUUID="96b34aac-6e9a-4c65-aa2a-84532b7195e1"
/dev/sdc2: UUID="d42de64d-bdba-f923-05d9-49f7b0bbaec7" TYPE="linux_raid_member" PARTUUID="7a12c6a9-02"
/dev/sdc5: UUID="0df08b6a-3d0f-ada1-bc8f-1f150058e8ef" UUID_SUB="e5789bc8-26c4-b9ff-2feb-faf91399b62d" LABEL="NAS:4" TYPE="linux_raid_member" PARTUUID="7a12c6a9-05"
/dev/sdc1: UUID="51fca16c-4cc0-3f15-05d9-49f7b0bbaec7" TYPE="linux_raid_member" PARTUUID="7a12c6a9-01"
/dev/sda2: UUID="d42de64d-bdba-f923-05d9-49f7b0bbaec7" TYPE="linux_raid_member" PARTUUID="63154729-4d82-489d-b597-22a8bad80e2b"
/dev/sda5: UUID="7b568c49-a368-9882-9374-213abae9a4f3" UUID_SUB="60cee2d0-3ab8-09b3-bfa3-41808ceae0ad" LABEL="NAS:2" TYPE="linux_raid_member" PARTUUID="f0ac2ea8-4a7e-4d79-b0e2-676324c59841"
/dev/sda1: UUID="51fca16c-4cc0-3f15-05d9-49f7b0bbaec7" TYPE="linux_raid_member" PARTUUID="8fc73246-31b0-41e3-b50f-8178c3c7f49e"
root@tcrpfriend:~# 

 

in an abnormal state:

 

Спойлер

IMG_4834.thumb.jpeg.e420adb1af69ed540d4a28d810faad54.jpeg

 

upd: I think that since I then boot successfully after manually entering the command - there is no problem at this point. There is a problem at the time of automatic execution. It may be necessary to increase the timeout somewhere

Edited by adamob
Link to comment
Share on other sites

В 26.04.2023 в 08:15, Peter Suh сказал:

Can you translate the Korean of this page into your language?

 

yep

 

1. Interesting, I also have 32 gb usb stick in usb 3.0 port like the user in Korean forum ) 

2. I have one NVMe installed

Link to comment
Share on other sites

13 hours ago, Orphée said:

FYI keymap does not work at all for me.

 

No matter what I have qwerty enabled.

Trying to switch to azerty/fr*

 

 

Ok, actually, I made it work :

 

from GUI : sudo loadkmap < /usr/share/kmap/azerty/fr-latin9.kmap

 

exit to prompt

image.png.fa2da7832035fce46d3f78319a8600ea.png

 

Now under prompt the keyboard is azerty

then

startx

 

and then in GUI keyboard is azerty

 

So I think the keymap is not loaded early enough before GUI to take settings into account.

 

I didn't know it needed root privileges.

 

Just as you informed me, the distribution was completed after modification.

 

After confirming that M SHELL is automatically updated

 

Can you test again whether the keymap is working?

 

https://github.com/PeterSuh-Q3/tinycore-redpill/commit/dd4f66593ad9ae5a9b18c3dee1d102303de6cd60

 

thank you

Link to comment
Share on other sites

7 hours ago, adamob said:

 

In normal case (no errors, ctrl+c to stop boot and run blkid):

 

  output (Hide contents)

root@tcrpfriend:~# blkid
/dev/nvme0n1p1: UUID="532b64cb-3f94-aaf1-87f4-ec19bf6cb4a8" UUID_SUB="8d73b723-65d4-2d40-5822-6d729cd981da" LABEL="NAS:3" TYPE="linux_raid_member" PARTUUID="ba06a92c-01"
/dev/sdd2: SEC_TYPE="msdos" UUID="BF6B-61D1" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="f110ee87-02"
/dev/sdd3: UUID="6234-C863" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="f110ee87-03"
/dev/sdd1: SEC_TYPE="msdos" UUID="BF4E-ADE7" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="f110ee87-01"
/dev/sdb2: UUID="d42de64d-bdba-f923-05d9-49f7b0bbaec7" TYPE="linux_raid_member" PARTUUID="5a6bb940-64a1-460e-8e8f-78b5170fbd67"
/dev/sdb5: UUID="7b568c49-a368-9882-9374-213abae9a4f3" UUID_SUB="2283e9f6-520c-e323-9dc7-26bb76bb4567" LABEL="NAS:2" TYPE="linux_raid_member" PARTUUID="a1fef151-a41d-43e6-8241-899942fcc6f3"
/dev/sdb1: UUID="51fca16c-4cc0-3f15-05d9-49f7b0bbaec7" TYPE="linux_raid_member" PARTUUID="96b34aac-6e9a-4c65-aa2a-84532b7195e1"
/dev/sdc2: UUID="d42de64d-bdba-f923-05d9-49f7b0bbaec7" TYPE="linux_raid_member" PARTUUID="7a12c6a9-02"
/dev/sdc5: UUID="0df08b6a-3d0f-ada1-bc8f-1f150058e8ef" UUID_SUB="e5789bc8-26c4-b9ff-2feb-faf91399b62d" LABEL="NAS:4" TYPE="linux_raid_member" PARTUUID="7a12c6a9-05"
/dev/sdc1: UUID="51fca16c-4cc0-3f15-05d9-49f7b0bbaec7" TYPE="linux_raid_member" PARTUUID="7a12c6a9-01"
/dev/sda2: UUID="d42de64d-bdba-f923-05d9-49f7b0bbaec7" TYPE="linux_raid_member" PARTUUID="63154729-4d82-489d-b597-22a8bad80e2b"
/dev/sda5: UUID="7b568c49-a368-9882-9374-213abae9a4f3" UUID_SUB="60cee2d0-3ab8-09b3-bfa3-41808ceae0ad" LABEL="NAS:2" TYPE="linux_raid_member" PARTUUID="f0ac2ea8-4a7e-4d79-b0e2-676324c59841"
/dev/sda1: UUID="51fca16c-4cc0-3f15-05d9-49f7b0bbaec7" TYPE="linux_raid_member" PARTUUID="8fc73246-31b0-41e3-b50f-8178c3c7f49e"
root@tcrpfriend:~# 

 

in an abnormal state:

 

  output (Hide contents)

IMG_4834.thumb.jpeg.e420adb1af69ed540d4a28d810faad54.jpeg

 

upd: I think that since I then boot successfully after manually entering the command - there is no problem at this point. There is a problem at the time of automatic execution. It may be necessary to increase the timeout somewhere

 

 

The mount process that searches for UUID="6234-C863" is processed first and foremost during FRIEND kernel bootup and skips over.


The phenomenon that UUID="6234-C863" appears during the investigation by pressing CTRL+C (Korean users were also the same.)

As you said, the kernel may have to wait for the mount to succeed while giving a slight delay to boot.sh. I do not know.

 

Let's research this a bit more.

 

thank you for reporting

Link to comment
Share on other sites

On 4/27/2023 at 6:04 AM, Peter Suh said:

Q35 enters DSM well without setting SataPortMap or DiskIdxMap.

 

and allows to passthrough drives directly to DSM without having dedicated SATA/SAS controler.

 

I want to share my newest confguration - i moved xpenology from host to VM.

 

obraz.thumb.png.8134c5eeeff202cadcafe34e6b754207.png

 

Most important settings:

- machine: Q35
- cpu type: host
- 3x SSD passthrough to VM as SSD SATA devices (storage has been migrated without any problem and without losing any data)

- vmbr2 = vNIC on Mellanox ConnectX-3 10Gbit connection

- usb0 = UPS (probably i will move it to proxmox host and configure NUT server)

- hostpci0 = iGPU passthrough to VM for Plex HW transcoding

I`ve tested albo passthrough NVMe drives for SSD Cache - it works ;)

Once again i want to thanks @Peter Suh for TCRP M-Shell - IMO this is the best TCRP at the moment and your support is priceless!

 

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

7 hours ago, Peter Suh said:

 

I didn't know it needed root privileges.

 

Just as you informed me, the distribution was completed after modification.

 

After confirming that M SHELL is automatically updated

 

Can you test again whether the keymap is working?

 

https://github.com/PeterSuh-Q3/tinycore-redpill/commit/dd4f66593ad9ae5a9b18c3dee1d102303de6cd60

 

thank you

I built loader again, it retrieved 0.0.6e

but still the same at boot.

I edited myself menu_m.sh to add sudo infront of loadkmap, but it won't work.

 

menu_m.sh is ran after Tinycore GUI is started, and TC GUI does not take the new value until you restart TC desktop.

 

You must run the command manually "sudo loadkmap < /usr/share/kmap/azerty/fr-latin9.kmap"

and restart GUI with "Exit to prompt" > startx

 

This is why I did it like this a few month ago :

 

 

I had to set it in /opt/bootsync.sh

 

 

Link to comment
Share on other sites

3 hours ago, Orphée said:

I built loader again, it retrieved 0.0.6e

but still the same at boot.

I edited myself menu_m.sh to add sudo infront of loadkmap, but it won't work.

 

menu_m.sh is ran after Tinycore GUI is started, and TC GUI does not take the new value until you restart TC desktop.

 

You must run the command manually "sudo loadkmap < /usr/share/kmap/azerty/fr-latin9.kmap"

and restart GUI with "Exit to prompt" > startx

 

This is why I did it like this a few month ago :

 

 

I had to set it in /opt/bootsync.sh

 

 

 

 

By adding a script to /opt/bootsync.sh
The key is to make loadkmap process before the x terminal runs.
The execution of loadkmap in my menu_m.sh seems to be late.
Is that right?

 

1. Select the keymap you want
2. Add loadkmap handling to /opt/bootsync.sh
3. ./rploader.sh backup
4. { kill $(cat /tmp/.X${DISPLAY:1:1}-lock) && { sleep 1 ; startx ; } >/dev/tty0 ; } &

( x window restart script )

 

I am going to amend it like this. Is the direction right?

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

1 hour ago, shibby said:

@Peter Suh is "acpid" package included into M-Shell build process? I`m now on proxmox and I read i need acpid for shutdown VM-Xpenology from Proxmox VE. But at the moment it doesn`t work for me. Is this true?

 

I will add acpid as an addon of M SHELL by referring to aprl's addon.
I forgot because I don't often test VM Proxmox.

  • Thanks 3
Link to comment
Share on other sites

19 hours ago, shibby said:

@Peter Suh is "acpid" package included into M-Shell build process? I`m now on proxmox and I read i need acpid for shutdown VM-Xpenology from Proxmox VE. But at the moment it doesn`t work for me. Is this true?

 

Applied the acpid power button addon.


https://github.com/PeterSuh-Q3/tcrp-addons


https://github.com/PeterSuh-Q3/redpill-load/commit/2b2fd946e22bccdc5a7bd2514405021220cba7b9

 

Please rebuild the loader.

 

On bare metal, I confirmed that synopoweroff was handled well without any errors by briefly pressing the power button.

(The power was turned off twice.)

 

933241471_2023-04-294_30_52.thumb.png.bd3f954205faf4becf6badea16da0952.png

 

How should I test in Proxmox?

Please test.

 

Edited by Peter Suh
  • Like 3
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...