README
README
README
################
# Introduction #
################
This image will give you a Quad boot system where you can
seamlessly switch between RetroPie, Raspbian, RasPlex and KODI.
I have included 'Quad-Boot versions' of LibreELEC, OpenELEC
and OSMC in one package, so all you need to do is choose which
KODI OS you want to run and install it alongside RetroPie, Rasplex
and Raspbian.
All systems will work independantly of each-other, meaning
they are 100% stable.
#############
# Changelog #
#############
#Smart Scripts!
I have created new 'smart' scripts to handle the partition switching.
These scripts (in all Operating Systems), will search for the correct
partition for each OS, rather than being set as a static partition number by
me. This means that the same script will work for a Dual-Boot, Triple-Boot
or beyond, without the possibility of the incorrect partition being selected.
#RasPlex Add-ons
In this build I have created add-ons for Rasplex rather than script files. This
means that the whole partition switching process is contained in a dedicated add
-on
folder that is unseen to the end user. Add-ons in Plex are not handled in the sa
me
manner as KODI in that you cannot link an add-on to the home screen, however the
y
can be called via sneaky changes to the default skin so you will find links to r
un
all operating systems on the left menu of RasPlex (below Preferences, Settings e
tc.).
#Boot to KODI / Boot to RasPlex
I have added 'Always boot to KODI' and 'Always boot to RasPlex' options in the R
etroPie
menu. The options will not appear until you have boot into each OS from RetroPie
at
least once. This is because my script (mentioned above) needs to determine the c
orrect
partition number for them both first. Once you have set 'Always boot to..', you
will
reboot into that OS on any restart or shutdown from RetroPie until you choose th
e
'Disable boot to..' option in the RetroPie menu. After choosing 'Disable boot to
..'
you will see the NOOBS OS selection on the next reboot and it will persist until
you
switch OS's from inside any other OS.
I have also added an 'Always boot to ..' function in Raspbian - it is located in
the start menu under 'System Tools' and again you will need to have launched int
o
each of the OS's from Raspbian at least once before you will see this option. Wh
en you
select this option the menu item will be replaced with a 'Disable Always Boot To
..'
under 'System Tools'. Choose this if you want to switch back to normal startup
behaviour in Raspbian.
*Please note that each 'Always boot to ..' script only works for the OS you trig
gered
it in, e.g. choosing 'Always boot to KODI' in Retropie will *not* make Raspbian
always
boot to KODI too - you will need to run the script in both partitions before it
will
work accross your whole system.
**Please also note that I have tried to make the script safe in that it won't al
low you
to set 'Enable always boot to RasPlex' and also set 'Always boot to KODI' - this
would
not work and would produce random results! Therefore I have designed the scripts
in such
a way that if for example you enable 'Always boot to KODI' within RetroPie and t
hen
immediately select 'Always boot to Rasplex', instead of enabling both options it
would only
retain the 'always boot to KODI' that you first selected. If you wanted to chang
e from 'boot
to KODI' to 'boot to RasPlex' then you will need to disable 'Boot to KODI' first
.
################
# Installation #
################
The installation of my build is all handled via the 'NOOBS'
setup process, and it is really simple to execute.
Please follow the steps below *exactly* and you should not
experience any issues:
1) Format a micro SD card using the 'FAT32' file-system. I
designed this to accept an 8GB card minimum, however I would
recommend a larger size to be able to fit all your games etc.
See this link for a tool I recommend for formatting your SD
card: https://www.sdcard.org/downloads/formatter_4/
2) You now have 2 options of how to proceed, as this build is
different to the regular NOOBS installer as it allows installing
from a USB stick:
# Standard Install #
Copy the whole contents of the 'NOOBS Files' folder and paste them
directly into the root of the SD card (make sure you don't just
copy the actual folder, it has got to be whats inside the folder
or it wont work!)
# USB Install #
Copy all contents of the 'NOOBS Files' folder *except* for the 'os'
folder onto your blank FAT32 formatted Micro SD card. Now copy the
'os' folder onto a blank FAT32 formatted USB drive (it has got to
be the actual 'os' folder, not the contents of it). When done,
insert the USB stick into your Raspberry Pi and move on to step 3.
3) Insert the memory card into your Raspberry Pi and turn it on.
**To avoid any confusion you may wish to unplug the ethernet cable
on your Pi as this will prevent any of the online NOOBS content
appearing in the menu and only display my items**
4) Select 'Raspbian_Multi-Boot', 'RasPlex Multiboot' 'RetroPie' and your choice
of KODI
iteration - OSMC_Multi-Boot, LibreELEC_Multi-Boot or OpenELEC_Multi-Boot
then click the 'Install' button
5) NOOBS will now extract the system images on the SD card and
install them automatically. This will take a long time due to the
compression methods applied and will vary depending on SD card speed.
It may look as though it has frozen at times but this is normal and you
shouldn't panic, just let it do its thing!
6) When all actions have been completed, NOOBS will display a message
telling you so. Click 'OK' and the Pi will reboot and present you with
an 'OS Choice' screen. Select any OS from this screen and it will boot
straight into that operating system
************************************************************************
* NOOBS by default will now use the initial 'OS Choice' screen on boot *
* up until you use my script to set up autobooting into either OS *
************************************************************************
The moment you choose to boot into another OS from inside the opposite
OS, the script I setup will create an autoboot file in NOOBS and from
that moment in you will be 'locked' into 1 operating system until you
choose the other. NOOBS will no longer show it's 'OS Choice' screen or
cause a delay on boot.
*Note - there is no need to use the 'Expand Filesystem' function any more
as NOOBS takes care of all partition re-sizing automatically and I have set
it to allocate SD card space evenly between all 3 systems. Please bare in
mind that nearly 2GB is lost due to the large installation files *if* you
used the standard 'SD card install' option. If you used the 'USB Install'
option then you will only have lost around 125MB due to install files.
**If you wish to change the partition sizes then please see 'Troubleshooting'
section below**
Upon first bootup of Retropie you will need to set up your controller
as normal.
#####################
# Notes on my build #
#####################
This is a Raspberry Pi 2 / 3 only build - it is not compatible
with a Raspberry Pi 1 or Pi Zero.
There are no copyrighted roms or BIOS included in this build.
All operating systems should behave as they would via a 'normal' install.
###################
# Troubleshooting #
###################
# NOOBS will not boot up? - Have you formatted using FAT32? NOOBS only
recognises FAT formatted disks. Your disk will need to be in 'good
condition' (for want of a better word) for it to work. If it does not work
first time, re-format, start again.
# NOOBS will not boot on my 64GB sd card? This is likely because it is not
formatted to FAT32 file format. If you have formatted the card in Windows,
even using the 'SD Formatter' tool, then it will force a different format,
probably 'exfat' - this is not a recognised format for NOOBS. You will need
to find a program that forces the FAT32 file format (there are quite a few
available on the net or use GParted in Linux). Once done then you should
have no problems at all with 64GB memory cards.
# NOOBS does not recognise my USB stick? - Again, NOOBS relies on a 'healthy'
FAT formatted disk. Ensure your USB disk is formatted correctly and that you
have copied the 'os' folder (not just the contents) to the root of the disk.
# No display when running a game - try changing the resolution of the
game or system by pressing 'X' (or 'Button 1' on controller) on loading
the rom.
# Slowdown / sound stuttering in games - if you are experiencing slowdown
issues then it is likely that your Pi is under-powered. Are you seeing a
rainbow coloured square in the top-right corner of your screen? If so then
you need to replace your power supply for one that has a *genuine* output
of 5volt 2amp minimum (2.5amp recommended for Pi3). Your performance issues
will then disappear.
# Can I change the partition sizes for each system? You can indeed. Please
follow these instructions to do just that but I must stress that this *must*
be done prior to installing the image once installed you cannot change
partition sizes:
##################### CHANGING PARTITION SIZES ##############################
Ok, so once you have downloaded and extracted the image you want to go straight
into the NOOBS Files folder, then into the os folder. In here you will find
the folders that contain the installation files per OS. Lets say you wanted to
change RetroPie so it no longer uses the majority of the SD card and instead you
wanted LibreELEC to use the majority. Take the following steps:
Open the RetroPie folder
Open the partitions.json file in a text editor. It will look something like this:
{
"partitions": [
{
"label": "BOOT",
"filesystem_type": "FAT",
"partition_size_nominal": 57,
"want_maximised": false,
"uncompressed_tarball_size": 20
},
{
"label": "retropie",
"filesystem_type": "ext4",
"partition_size_nominal": 3000,
"want_maximised": true,
"mkfs_options": "-O ^huge_file",
"uncompressed_tarball_size": 1601
}
]
}
The layout above shows the partition info for both the boot partition and the st
orage
partition for RetroPie. Do not amend the boot partition this needs to stay as-is,
but as you can see, the want_maximised is set to true on the storage partition
(labelled retropie). This means that NOOBS will allocate all free space to this
partition, so if LibreELEC is set to allocate 2GB in total then RetroPie would b
e allocated
around 30GB when using a 32GB card (it would be less than that in the real world
, but
you get the principal). First thing to do is change want_maximised to false and then
set a value (in MB) in the partition_size_nominal field. You can see I have set it
as
3000MB, ie ~3GB change this to 6000 for 6GB for example, then save and exit the
file.
Now leave the RetroPie directory and enter the LibreELEC_RPi2 folder and again, op
en
the partitions.json file in a text editor. It will look something like this:
{
"partitions": [
{
"label": "LibreELEC_RPi2_System",
"filesystem_type": "FAT",
"partition_size_nominal": 512,
"want_maximised": false,
"uncompressed_tarball_size": 120,
"mkfs_options": ""
},
{
"label": "LibreELEC_RPi2_Storage",
"filesystem_type": "ext4",
"partition_size_nominal": 2500,
"want_maximised": false,
"uncompressed_tarball_size": 88,
"mkfs_options": ""
}
]
}
The boot partition (LibreELEC_RPi2_System) must not be changed, only the LibreELE
C_RPi2_Storage
partition which is the storage partition. As you can see the root partition is s
et to
want_maximised: false change this to true and save the file. You dont really need to
specify
a different partition_size_nominal size if want_maximised is set to true.
Now NOOBS will allocate your specified partition size to the RetroPie partition
and the rest
of the space will be awarded to the LibreELEC partition.
The principle is the same for any os Raspbian, OSMC etc. so you can use this met
hod on any
to change partition sizes, just remember not to change the boot partitions!!!
###############
# Final notes #
###############
I hope you find this build useful and it inspires you to set up the retro
gaming / media center you always dreamed of! ;)
The real credit goes to the developers and communities of the RetroPie
Project, Emulation Station, OpenELEC / KODI and NOOBS. Without the hard
work they all put in none of this would have been at all possible. I have
merely built upon their existing work and expertise.
#########
# Links #
#########
Please visit the RetroPie homepage for further information
on the RetroPie project:
https://retropie.org.uk/
Please visit the RasPlex homepage for further information on the Raspberry Pi
port of PLEX media center:
http://www.rasplex.com/