xBCrosshair
Posts: 7
Joined: Mon Feb 24, 2020 4:17 pm

Boot Menu

Mon Feb 24, 2020 4:28 pm

Hello guys, I'm very new to Raspberry Pi and I have just bought a Raspberry Pi 3b+ less than a week ago. I am wanting to make a nintendo switch like device but instead run multiple OSes. One will be Raspbian that boots into steam link, regular raspbian with desktop, Retro pi, and last a terminal raspbian. I know you can use noobs and install and boot to which ever one you want but I'm looking to make a selection screen for each. It will be a 4 window selection screen and you will move to the OS you want and start it. Since the device will be meant to be used with a control I would need controller interaction with the 4 windows. If anyone could help me that would be great or if there is something already made please let me know thank you!

ejolson
Posts: 5789
Joined: Tue Mar 18, 2014 11:47 am

Re: Boot Menu

Mon Feb 24, 2020 4:42 pm

xBCrosshair wrote:
Mon Feb 24, 2020 4:28 pm
Hello guys, I'm very new to Raspberry Pi and I have just bought a Raspberry Pi 3b+ less than a week ago. I am wanting to make a nintendo switch like device but instead run multiple OSes. One will be Raspbian that boots into steam link, regular raspbian with desktop, Retro pi, and last a terminal raspbian. I know you can use noobs and install and boot to which ever one you want but I'm looking to make a selection screen for each. It will be a 4 window selection screen and you will move to the OS you want and start it. Since the device will be meant to be used with a control I would need controller interaction with the 4 windows. If anyone could help me that would be great or if there is something already made please let me know thank you!
To switch boot partitions are reboot it is enough to specify the partition number as part of the reboot command. My recollection is that the syntax i

# systemctl reboot n

where n is replaced by the partition number you want to boot, for example something like

# systemctl reboot 3

would reboot the Pi from the third partition on the SD card.

xBCrosshair
Posts: 7
Joined: Mon Feb 24, 2020 4:17 pm

Re: Boot Menu

Mon Feb 24, 2020 5:56 pm

ejolson wrote:
Mon Feb 24, 2020 4:42 pm
xBCrosshair wrote:
Mon Feb 24, 2020 4:28 pm
Hello guys, I'm very new to Raspberry Pi and I have just bought a Raspberry Pi 3b+ less than a week ago. I am wanting to make a nintendo switch like device but instead run multiple OSes. One will be Raspbian that boots into steam link, regular raspbian with desktop, Retro pi, and last a terminal raspbian. I know you can use noobs and install and boot to which ever one you want but I'm looking to make a selection screen for each. It will be a 4 window selection screen and you will move to the OS you want and start it. Since the device will be meant to be used with a control I would need controller interaction with the 4 windows. If anyone could help me that would be great or if there is something already made please let me know thank you!
To switch boot partitions are reboot it is enough to specify the partition number as part of the reboot command. My recollection is that the syntax i

# systemctl reboot n

where n is replaced by the partition number you want to boot, for example something like

# systemctl reboot 3

would reboot the Pi from the third partition on the SD card.
So I would need to create an interface and program my own boot selector with that code set to each picture? Making the pi reboot into the OS selected at the selection screen?

ejolson
Posts: 5789
Joined: Tue Mar 18, 2014 11:47 am

Re: Boot Menu

Mon Feb 24, 2020 6:04 pm

xBCrosshair wrote:
Mon Feb 24, 2020 5:56 pm
ejolson wrote:
Mon Feb 24, 2020 4:42 pm
xBCrosshair wrote:
Mon Feb 24, 2020 4:28 pm
Hello guys, I'm very new to Raspberry Pi and I have just bought a Raspberry Pi 3b+ less than a week ago. I am wanting to make a nintendo switch like device but instead run multiple OSes. One will be Raspbian that boots into steam link, regular raspbian with desktop, Retro pi, and last a terminal raspbian. I know you can use noobs and install and boot to which ever one you want but I'm looking to make a selection screen for each. It will be a 4 window selection screen and you will move to the OS you want and start it. Since the device will be meant to be used with a control I would need controller interaction with the 4 windows. If anyone could help me that would be great or if there is something already made please let me know thank you!
To switch boot partitions are reboot it is enough to specify the partition number as part of the reboot command. My recollection is that the syntax i

# systemctl reboot n

where n is replaced by the partition number you want to boot, for example something like

# systemctl reboot 3

would reboot the Pi from the third partition on the SD card.
So I would need to create an interface and program my own boot selector with that code set to each picture? Making the pi reboot into the OS selected at the selection screen?
Something like that. I would suggest getting a big enough SD card and making a bunch of boot partitions on it with corresponding root partitions and experiment with the mechanism to boot into whichever you prefer before making any mouse interfaces.

In my opinion it is easier to add a GUI to a working method than figure out a method that works after the GUI is made.

xBCrosshair
Posts: 7
Joined: Mon Feb 24, 2020 4:17 pm

Re: Boot Menu

Mon Feb 24, 2020 7:28 pm

ejolson wrote:
Mon Feb 24, 2020 6:04 pm
xBCrosshair wrote:
Mon Feb 24, 2020 5:56 pm
ejolson wrote:
Mon Feb 24, 2020 4:42 pm

To switch boot partitions are reboot it is enough to specify the partition number as part of the reboot command. My recollection is that the syntax i

# systemctl reboot n

where n is replaced by the partition number you want to boot, for example something like

# systemctl reboot 3

would reboot the Pi from the third partition on the SD card.
So I would need to create an interface and program my own boot selector with that code set to each picture? Making the pi reboot into the OS selected at the selection screen?
Something like that. I would suggest getting a big enough SD card and making a bunch of boot partitions on it with corresponding root partitions and experiment with the mechanism to boot into whichever you prefer before making any mouse interfaces.

In my opinion it is easier to add a GUI to a working method than figure out a method that works after the GUI is made.
So I guess my next question being super new is where/how should I start. Do you know of any reference material?

User avatar
procount
Posts: 2245
Joined: Thu Jun 27, 2013 12:32 pm
Location: UK

Re: Boot Menu

Mon Feb 24, 2020 7:33 pm

PINN may not have quite the interface you are looking for, but it will allow you to install multiple OSes and switch between them. It also supports XBOX like gamepad controllers. It will also let you install multiple versions of the same OS, back them up, replace or restore them,
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574

xBCrosshair
Posts: 7
Joined: Mon Feb 24, 2020 4:17 pm

Re: Boot Menu

Mon Feb 24, 2020 7:53 pm

procount wrote:
Mon Feb 24, 2020 7:33 pm
PINN may not have quite the interface you are looking for, but it will allow you to install multiple OSes and switch between them. It also supports XBOX like gamepad controllers. It will also let you install multiple versions of the same OS, back them up, replace or restore them,
Yes I know what noobs and pinn do but I really want the basis of the gui with set images i have uploaded. Or are you suggesting that I use the PINN and just modify it?

User avatar
procount
Posts: 2245
Joined: Thu Jun 27, 2013 12:32 pm
Location: UK

Re: Boot Menu

Mon Feb 24, 2020 8:20 pm

You could certainly modify PINN to replace the bootmenu selection dialog with your own 4 images.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574

User avatar
DougieLawson
Posts: 39813
Joined: Sun Jun 16, 2013 11:19 pm
Location: A small cave in deepest darkest Basingstoke, UK
Contact: Website Twitter

Re: Boot Menu

Mon Feb 24, 2020 8:24 pm

procount wrote:
Mon Feb 24, 2020 7:33 pm
PINN may not have quite the interface you are looking for, but it will allow you to install multiple OSes and switch between them. It also supports XBOX like gamepad controllers. It will also let you install multiple versions of the same OS, back them up, replace or restore them,
Why would you need multiple OSes?

Wouldn't it be better to run something during the GUI startup that presented a menu (all running on one copy of Raspbian or Retropie).
Note: Any requirement to use a crystal ball or mind reading will result in me ignoring your question.

Criticising any questions is banned on this forum.

Any DMs sent on Twitter will be answered next month.
All fake doctors are on my foes list.

User avatar
procount
Posts: 2245
Joined: Thu Jun 27, 2013 12:32 pm
Location: UK

Re: Boot Menu

Mon Feb 24, 2020 9:03 pm

Actually, yeah - all those use cases could be run on a single copy of Raspbian.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574

xBCrosshair
Posts: 7
Joined: Mon Feb 24, 2020 4:17 pm

Re: Boot Menu

Mon Feb 24, 2020 10:32 pm

DougieLawson wrote:
Mon Feb 24, 2020 8:24 pm
procount wrote:
Mon Feb 24, 2020 7:33 pm
PINN may not have quite the interface you are looking for, but it will allow you to install multiple OSes and switch between them. It also supports XBOX like gamepad controllers. It will also let you install multiple versions of the same OS, back them up, replace or restore them,
Why would you need multiple OSes?

Wouldn't it be better to run something during the GUI startup that presented a menu (all running on one copy of Raspbian or Retropie).
Actually I didnt think of that! So I could just have my own gui set up with a single copy of raspbian and open the applications that way even retropie?

Dasmaeht
Posts: 2
Joined: Thu Apr 09, 2020 4:46 pm

Re: Boot Menu

Sun Apr 19, 2020 9:28 pm

ejolson wrote:
Mon Feb 24, 2020 4:42 pm
xBCrosshair wrote:
Mon Feb 24, 2020 4:28 pm
Hello guys, I'm very new to Raspberry Pi and I have just bought a Raspberry Pi 3b+ less than a week ago. I am wanting to make a nintendo switch like device but instead run multiple OSes. One will be Raspbian that boots into steam link, regular raspbian with desktop, Retro pi, and last a terminal raspbian. I know you can use noobs and install and boot to which ever one you want but I'm looking to make a selection screen for each. It will be a 4 window selection screen and you will move to the OS you want and start it. Since the device will be meant to be used with a control I would need controller interaction with the 4 windows. If anyone could help me that would be great or if there is something already made please let me know thank you!
To switch boot partitions are reboot it is enough to specify the partition number as part of the reboot command. My recollection is that the syntax i

# systemctl reboot n

where n is replaced by the partition number you want to boot, for example something like

# systemctl reboot 3

would reboot the Pi from the third partition on the SD card.
I have nearly the same issue, but wanted to use LibreELEC, so I have to install two OSs.
Beacuse I dont have Mouse&keyboard connected to my PI, I tried changig the OS using this command, but it just doesn't work. NOOBS always starts Rapsbian.
Is there any other option to reboot a different partition via SSH? Or is it impossible because of NOOBS?

Best regards

User avatar
procount
Posts: 2245
Joined: Thu Jun 27, 2013 12:32 pm
Location: UK

Re: Boot Menu

Mon Apr 20, 2020 9:10 am

Dasmaeht wrote:
Sun Apr 19, 2020 9:28 pm
I dont have Mouse&keyboard connected to my PI,
Do you have a joystick or gamepad?
PINN supports some models of those as well as keyboard, mouse & touchscreen.
Dasmaeht wrote:
Sun Apr 19, 2020 9:28 pm
# systemctl reboot 3
I've never used that; I normally use:

Code: Select all

# sudo reboot n
Maybe that has the same effect.
In any case, this should work on all Pi models except for the Pi4. If it does not work on your Pi4, you need to add to the single command line in cmdline.txt of EACH of your installed OSes:

Code: Select all

sdhci.debug.quirks2=4
This will unfortunately slow down the speed of your SD card accesses to that of a 3B+, but it should allow you to reboot between OSes using the above command.
Dasmaeht wrote:
Sun Apr 19, 2020 9:28 pm
Is there any other option to reboot a different partition via SSH?
NOOBS does not include SSH. If you want to use that, you need to use PINN.
PINN does not include an interface to its recovery program via SSH, but you can change the default OS that is booted by editing /settings/noobs.conf and setting default_partition_to_boot=n and using the rebootp command to reboot into it.
Alternatively, PINN includes the vncshare option which allows you to operate PINN's graphical recovery screen remotely to choose which OS to boot.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574

ejolson
Posts: 5789
Joined: Tue Mar 18, 2014 11:47 am

Re: Boot Menu

Thu May 21, 2020 9:46 pm

procount wrote:
Mon Apr 20, 2020 9:10 am
Dasmaeht wrote:
Sun Apr 19, 2020 9:28 pm
I dont have Mouse&keyboard connected to my PI,
Do you have a joystick or gamepad?
PINN supports some models of those as well as keyboard, mouse & touchscreen.
Dasmaeht wrote:
Sun Apr 19, 2020 9:28 pm
# systemctl reboot 3
I've never used that; I normally use:

Code: Select all

# sudo reboot n
Maybe that has the same effect.
In any case, this should work on all Pi models except for the Pi4. If it does not work on your Pi4, you need to add to the single command line in cmdline.txt of EACH of your installed OSes:

Code: Select all

sdhci.debug.quirks2=4
This will unfortunately slow down the speed of your SD card accesses to that of a 3B+, but it should allow you to reboot between OSes using the above command.
Dasmaeht wrote:
Sun Apr 19, 2020 9:28 pm
Is there any other option to reboot a different partition via SSH?
NOOBS does not include SSH. If you want to use that, you need to use PINN.
PINN does not include an interface to its recovery program via SSH, but you can change the default OS that is booted by editing /settings/noobs.conf and setting default_partition_to_boot=n and using the rebootp command to reboot into it.
Alternatively, PINN includes the vncshare option which allows you to operate PINN's graphical recovery screen remotely to choose which OS to boot.
I'm not having any luck with a 4B switching boot partitions, even after adding the suggested

Code: Select all

sdhci.debug.quirks2=4
to my cmdline.txt file. Note I also updated to the firmware

Code: Select all

# rpi-eeprom-update 
BCM2711 detected
BOOTLOADER: up-to-date
CURRENT: Thu 16 Apr 17:11:26 UTC 2020 (1587057086)
 LATEST: Thu 16 Apr 17:11:26 UTC 2020 (1587057086)
 FW DIR: /lib/firmware/raspberrypi/bootloader/critical
VL805: up-to-date
CURRENT: 000137ad
 LATEST: 000137ad
I'm pretty sure this used to work. The card looks like

Code: Select all

Disklabel type: dos
Disk identifier: 0x738a4d67

Device         Boot    Start      End  Sectors  Size Id Type
/dev/mmcblk0p1 *        8192   532479   524288  256M  c W95 FAT32 (LBA)
/dev/mmcblk0p2        532480 29728767 29196288 13.9G 83 Linux
/dev/mmcblk0p3 *    29728768 30253055   524288  256M  c W95 FAT32 (LBA)
and partition 3 is essentially a copy of partition 1 with a single change to cmdline.txt so I can track which one is actually being activated. It's always partition 1. Any ideas?

ejolson
Posts: 5789
Joined: Tue Mar 18, 2014 11:47 am

Re: Boot Menu

Thu May 21, 2020 9:57 pm

ejolson wrote:
Thu May 21, 2020 9:46 pm
I'm not having any luck with a 4B switching boot partitions, even after adding the suggested

Code: Select all

sdhci.debug.quirks2=4
to my cmdline.txt file.
Okay. I checked the PINN project and the above post had a typo. It should be

Code: Select all

sdhci.debug_quirks2=4
Note the additional underscore.

trejan
Posts: 2577
Joined: Tue Jul 02, 2019 2:28 pm

Re: Boot Menu

Thu May 21, 2020 11:35 pm

procount wrote:
Mon Apr 20, 2020 9:10 am
In any case, this should work on all Pi models except for the Pi4. If it does not work on your Pi4, you need to add to the single command line in cmdline.txt of EACH of your installed OSes:

Code: Select all

sdhci.debug.quirks2=4
This will unfortunately slow down the speed of your SD card accesses to that of a 3B+, but it should allow you to reboot between OSes using the above command.
I'd be curious to see if this has been fixed on the Pi 4B v1.2 as that presumably has the 1.8V enable GPIO.

Return to “Beginners”