Hi chrisino,
I hope PINN itself is quite easy to use and I am making it easier to use all the time.
Complicated instructions that you may have seen using terminals are more than likely to do something that it was not designed to do.
Neither NOOBS nor PINN were designed to add OSes to them. When installing OSes, they allocate all of the available space to the OSes, dividing it equally between them. So there just isn't any space left on the card to add another OS. To do that it is necessary to shrink the partitions of every installed OS to make more space, then add the additional partitions, format them and install the new OSes. This is all quite complicated for a simple program like PINN. You can move/resize the partitions manually using tools like GParted, but then adding another OS will have to be done manually because PINN was never designed to do this (hence the complicated instructions).
This is an often asked question, so I am thinking of ways I can do this within the limited bounds of PINN.
The most recent enhancement to aid in this was the introduction of ProjectSpaces amd the Replace OS function. This allows you to reserve space for a future OS and then install an OS into it later. But this is no good in your case, because ProjectSpaces weren't available when you created your SD card. So for now, you will still have to mess about with terminal command shells to make the additional space on your SD card for your 3rd OS.
There are 2 main methods:
1) Turn your existing installed OSes into custom OS versions (see README_PINN.md on Github. There is also a Wiki entry on doing this). Then on a new SD card, install these 2 Custom OSes plus your 3rd new OS.
2) Backup your existing installed OSes as tar files to a USB stick. On a fresh SD card, install new copies of your 3 chosen OSes. Then wipe out the files of the 2 new OSes that you have back-ups of, and replace them with your backups.
Both of these methods allow you minimise the amount of terminal commands you need to write. If you want help with either of these methods, please raise an issue on Github and I can take you through step by step. There might be some issues on there that have already addressed this.
Re: STICKY: PINN - An enhanced version of NOOBS.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574
- DougieLawson
- Posts: 42771
- Joined: Sun Jun 16, 2013 11:19 pm
- Location: A small cave in deepest darkest Basingstoke, UK
Re: STICKY: PINN - An enhanced version of NOOBS.
How about another method: Move the existing stuff from an 8GB SDcard to a 16GB (or 32GB to 64GB) use the free space that appears to allow expansion of that existing stuff or addition of new stuff.
You could probablysteal borrow the code from the RPF SDCard Copier (aka Piclone) to do some of that work.
You could probably
Languages using left-hand whitespace for syntax are ridiculous
DMs sent on https://twitter.com/DougieLawson or LinkedIn will be answered next month.
Fake doctors - are all on my foes list.
The use of crystal balls and mind reading is prohibited.
DMs sent on https://twitter.com/DougieLawson or LinkedIn will be answered next month.
Fake doctors - are all on my foes list.
The use of crystal balls and mind reading is prohibited.
Re: STICKY: PINN - An enhanced version of NOOBS.
Yes, that would work, but the OP didn't say how big his SD card was and I had assumed he wanted to add the 3rd OS to the same SD card rather than a larger one.
I have already ported the RPF SDCard Copier (aka Piclone) into PINN, as it is used in the option to clone an SD card (or another other drive) to a new one (same, smaller or larger) by adjusting the size of the last partition, but without having to do it from a live OS.
If I kept this last partition the same I would need some new code to create the new partitions for the new OS, but I guess it's doable. I'll keep this in mind.
I have already ported the RPF SDCard Copier (aka Piclone) into PINN, as it is used in the option to clone an SD card (or another other drive) to a new one (same, smaller or larger) by adjusting the size of the last partition, but without having to do it from a live OS.
If I kept this last partition the same I would need some new code to create the new partitions for the new OS, but I guess it's doable. I'll keep this in mind.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574
Re: STICKY: PINN - An enhanced version of NOOBS.
Hi. It's a 32 gb card with LibreElec, Batocera on it. I'd like to add Raspian.
The Pinn installer just states overwrite if I add any other OS.
The Pinn installer just states overwrite if I add any other OS.
- DougieLawson
- Posts: 42771
- Joined: Sun Jun 16, 2013 11:19 pm
- Location: A small cave in deepest darkest Basingstoke, UK
Re: STICKY: PINN - An enhanced version of NOOBS.
You can't do that with the current design of PINN (or NOOBS).
Languages using left-hand whitespace for syntax are ridiculous
DMs sent on https://twitter.com/DougieLawson or LinkedIn will be answered next month.
Fake doctors - are all on my foes list.
The use of crystal balls and mind reading is prohibited.
DMs sent on https://twitter.com/DougieLawson or LinkedIn will be answered next month.
Fake doctors - are all on my foes list.
The use of crystal balls and mind reading is prohibited.
Re: STICKY: PINN - An enhanced version of NOOBS.
Oh dear. Not good news. This is why Windows users don't move to Linux (after all that's what the pi offers in terms of os to install) in Windows you simply shrink the os and create a new partition on the remaining space.
If I have to mess with numerous utilities and also mess about with using a terminal it sort of puts me off.
Hey I know the Pi was invented intially to make people program and do this kind of thing but that's why casual Windows users get scared of Linux and it's variants.
It's just not as user friendly as windows and I have to admit it does make us slightly lazy as we want everything to work out of the box with minimal fuss.
Anything that can automate the process you describe or step by step instructions would be appreciated. If not then I might just start again from scratch which is not my preference.
If I have to mess with numerous utilities and also mess about with using a terminal it sort of puts me off.
Hey I know the Pi was invented intially to make people program and do this kind of thing but that's why casual Windows users get scared of Linux and it's variants.
It's just not as user friendly as windows and I have to admit it does make us slightly lazy as we want everything to work out of the box with minimal fuss.
Anything that can automate the process you describe or step by step instructions would be appreciated. If not then I might just start again from scratch which is not my preference.
- ShiftPlusOne
- Raspberry Pi Engineer & Forum Moderator
- Posts: 6460
- Joined: Fri Jul 29, 2011 5:36 pm
Re: STICKY: PINN - An enhanced version of NOOBS.
That's not a limitation of Linux though. Most installers for desktop distros will allow you to do what you're describing. It just so happens that NOOBS doesn't have this feature.chrisino wrote: ↑Sun Jun 24, 2018 5:23 pmOh dear. Not good news. This is why Windows users don't move to Linux (after all that's what the pi offers in terms of os to install) in Windows you simply shrink the os and create a new partition on the remaining space.
If I have to mess with numerous utilities and also mess about with using a terminal it sort of puts me off.
Hey I know the Pi was invented intially to make people program and do this kind of thing but that's why casual Windows users get scared of Linux and it's variants.
It's just not as user friendly as windows and I have to admit it does make us slightly lazy as we want everything to work out of the box with minimal fuss.
Anything that can automate the process you describe or step by step instructions would be appreciated. If not then I might just start again from scratch which is not my preference.
Re: STICKY: PINN - An enhanced version of NOOBS.
@chrisino
What you are asking in "Windows terms" is
- I want to shrink my Windows drive & install another version of Windows in the free space (all while I'm still booted in Windows).
Pretty sure Windows wouldn't do that "so easily".
What you are asking in "Windows terms" is
- I want to shrink my Windows drive & install another version of Windows in the free space (all while I'm still booted in Windows).
Pretty sure Windows wouldn't do that "so easily".
www.matthuisman.nz
Re: STICKY: PINN - An enhanced version of NOOBS.
Hi. Not really. When you boot the pi it loads an installer. An installer should be able to pick a partition, look at the free space and then install to that space.
What Pinn does is look at the free space and say well you have free space but that's no good so you'll have to wipe the whole darn thing which is non sensical, well it is in my head!
If It won't do it then it won't do it but it doesn't make sense.
I've got Openlec on one partition, android, and batocerra. I want to install Raspian. I should have installed it when I installed the others but I didn't.
All I want to do is add another OS but now I'll have to wipe all my openelec settings ,my android setup and start again which is time consuming. Rescanning my openelec library doesn't seem much fun to be honest.
I can't honestly believe that no utility can do this easily on windows or Linux.
Oh well never mind.
What Pinn does is look at the free space and say well you have free space but that's no good so you'll have to wipe the whole darn thing which is non sensical, well it is in my head!
If It won't do it then it won't do it but it doesn't make sense.
I've got Openlec on one partition, android, and batocerra. I want to install Raspian. I should have installed it when I installed the others but I didn't.
All I want to do is add another OS but now I'll have to wipe all my openelec settings ,my android setup and start again which is time consuming. Rescanning my openelec library doesn't seem much fun to be honest.
I can't honestly believe that no utility can do this easily on windows or Linux.
Oh well never mind.
Re: STICKY: PINN - An enhanced version of NOOBS.
Only if you choose to, and there are a few to choose from.
PINN is moving towards this. I have just added the "replace OS" function, so you can replace an OS without wiping the whole SD card. In conjunction with the new ProjectSpaces, it is possible to reserve some SD card space to install an OS into at a later date. But if you have already installed 3 OSes with NOOBS/PINN, then all the SD card has already been allocated to partitions and there is no usable free space left.
Free space within a partition cannot be used to install an OS into. In order to add another OS, you need free space outside of the partitioned space. This is exactly the same on Windows. You need a partition manager to shrink your partitions and move them to the start of the disk to make more space in which you can create more partitions. There are many partition managers in Windows that do this. In Linux, a popular graphical one is GParted. This is quite a complicated process for a small minimal program such as PINN to do.
...
Hindsight is always 20/20 vision!

No, it is not necessary to throw everything away and start again if you don't want to. I already mentioned 2 methods. Dougie mentioned a third by copying to a larger SD card, and a 4th is to use GParted to shrink your partitions and make space for Raspbian (bear in mind that Raspbian will need at least 8GB). For those latter 2 methods you'll need to do a bit more manual work to add the extra OS at the moment; NOOBS/PINN were designed to expand all OSes to fill the SD card when they were installed, so the need to 'Add an OS' to an SD card that would always be full would not make sense. You would need to do something very similar on Windows too if you have already filled your disk with OS partitions.
Often you need several utilities to do something particular to your needs. The beauty of Linux is you can do most of these things from the command line. If you want to make it easier, make a script to automate it, or write your own nice graphical front-end for it, do like I did and learn how to adapt an existing program to suit your own needs, or wait for someone else to do it for you.

PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574
Re: STICKY: PINN - An enhanced version of NOOBS.
Last time I did that it was pretty easy. With some caveats. I recall it depends on where one wants to put new partitions, what one already has, and what's been used, primary, extended or logical partitions/drives, and there are some limits to how many of each one can have.
I usually receive systems which have been configured as a single drive and I always shrink that and split into multiple drives for booting different Windows versions and for particular data uses.
-
- Posts: 4
- Joined: Fri Jun 29, 2018 9:02 am
Re: Android 7.1.2
Hi. The latest Pinn installs quite an old version of Konstakang Lineage 7.1. How do I get it to update to the latest version? Regards
Re: STICKY: PINN - An enhanced version of NOOBS.
Sorry for that.
I have a lot of OSes to maintain/convert to NOOBS/PINN format and little time to keep track of them, so I tend to update them in batches every now and again. Thanks for bringing Lineage to my attention and I will add it to the list that I am currently updating. Hopefully it won't be too long.
I have a lot of OSes to maintain/convert to NOOBS/PINN format and little time to keep track of them, so I tend to update them in batches every now and again. Thanks for bringing Lineage to my attention and I will add it to the list that I am currently updating. Hopefully it won't be too long.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574
Re: STICKY: PINN - An enhanced version of NOOBS.
Hi,
So if I want to install Raspian I need to shrink my existing os's? I can then use GParted to shrink my partitions to free up some space?
I don't have Linux so how do I A: Get GParted and B: install it and what on?
Would something in Windows not be able to do the same?
So if I want to install Raspian I need to shrink my existing os's? I can then use GParted to shrink my partitions to free up some space?
I don't have Linux so how do I A: Get GParted and B: install it and what on?
Would something in Windows not be able to do the same?
Re: STICKY: PINN - An enhanced version of NOOBS.
Gparted is also available in Windows along with others.
https://www.lifewire.com/free-disk-part ... ls-2624950
I hope it goes without saying that you should backup your disk before performing such surgery on it as it has the risk of trashing everything.
https://www.lifewire.com/free-disk-part ... ls-2624950
I hope it goes without saying that you should backup your disk before performing such surgery on it as it has the risk of trashing everything.

PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574
-
- Posts: 4
- Joined: Fri Jun 29, 2018 9:02 am
Re: STICKY: PINN - An enhanced version of NOOBS.
Many thanks. Looking forward to it.procount wrote: ↑Fri Jun 29, 2018 9:44 amSorry for that.
I have a lot of OSes to maintain/convert to NOOBS/PINN format and little time to keep track of them, so I tend to update them in batches every now and again. Thanks for bringing Lineage to my attention and I will add it to the list that I am currently updating. Hopefully it won't be too long.
Re: STICKY: PINN - An enhanced version of NOOBS.
PINN has been updated to v2.8.5
V2.8.5
This requires a bit of explanation to understand how the enhancements work.
Firstly, `silentinstall` on its own works exactly as it did before. The enhancements are enabled by including the new "select=" option.
The `select` option will do 3 things:
The `select=` option specifies a quoted string of selection criteria to specify which OSes shall be selected.
The simplest option is to specify `select='allinstalled`, which effectively restores the previous functionality of PINN by selecting all previously installed OSes. However, if there are any previously installed OSes, this will actually prevent `silentinstall` from working, since that requires there be NO installed OSes in order to prevent accidental overwrite of any existing OSes.
The next use is to specify a comma separated list of OS names to be selected. This allows one or more OSes to be silently installed without having to remove references to all other OSes, so it is more convenient.
Three final selection options are `allsd`, `allusb` and `allnetwork` which select OSes based the installation source of the most recent version: SD card, USB drive or downloaded from the network respectively. (allnetwork is very useful with Matt Huisman's partition specifiying WebApp) But see "modifiers" below.
Modifiers
On startup, PINN will use several different sources to compile its list of OSes that can be installed: PINN's boot recovery partition of the SD card, the /os folder on a USB drive, and its list of remote repositories specified in recovery.cmdline (using alt_image_source, repo & repo_list). Whenever it finds a duplicate OS name, it will use the most recent version of that OS to populate its install list.
The selection criteria are applied immediately that a source has been read, and Silentinstall will operate as soon as all required sources have been read. So, due to the asynchronous nature that OS sources are detected, it is possible for silentinstall to start installing OSes before the complete OS list has been populated with the most recent versions and therefore it might not chose the OS version you expect.
To guard against this, several other command line options can be specified. `waitsd`, `waitusb` and `waitnetwork` can be specified to force PINN to wait until those specific sources have been read before actioning silentinstall. (`allsd`, `allusb` and `allnetwork` automatically imply `waitsd`, `waitusb` and `waitnetwork`, respectively). Be careful not to specify `waitnetwork` or `allnetwork` when you are not connected to a network, otherwise PINN will wait indefinitley for the network to be available and prevent silentinstall from ever executing. Selecting an OS by name does not specify any source, so it may be necessary to add an appropriate wait modifier to ensure the required source has been processed. Likewise, be careful not to choose waitusb if you have no usb drive. `waitall` is equivalent to `waitsd`, `waitusb` and `waitnetwork`.
There are additional modifiers that can be used to exclude specific sources from being processed: `disableusbimages` and `disablesdimages`. These prevent the SD card and USB drives from being searched for OSes. Network sources can be excldued by removing their URL from the appropriate commandline option. `no_default_source` may be necessary to exclude the RPF repository.
NOTE: The `select` option will work on its own without the `silentinstall` option; it will select the appropriate OSes according to its selection critera but not actually install them. You can perform the install manually on the selected OSes, or perform other actions. Remember, the silentinstall option will only work if there are no OSes already installed.
(* NOTE: It may be possible to simplify this in the next version by just detecting when all OSes have been processed)
See the full documentation for more details.
V2.8.5
- Boot Cancel - Added a new cancel button to the bootselection dialog which will reboot back into PINN
- Swedish keyboard - Swedish keyboard fixed when language selected
- Bootable selection - The bootselection dialog is only available if a bootable OS is installed.
- Select Option - Auto select/check OSes to be installed. select="allsd,allusb,allnetwork,waitsd,waitusb,waitnetwork,waitall,allinstalled,<osname>"
- SilentInstall - with Select will auto-install selected OSes
- Added Disablesdimages - Disablesdimages in recovery.cmdline will prevent OSes on SD card from being shown
- Network start - The network is always started, even with silentinstall.
- Flavour download - Flavours can now be downloaded from remote repos. Only need to download 1
- Added flavours.tar.xz - Remote flavours need to include flavours.tar.xz
- RPi Model Name - Added name of RPi model to MainMenu screen
- The OS Download feature has been enhanced, so when selecting one flavour of an OS, PINN will now download ALL the flavours of that OS, including any customisations,
so that any of those flavours can subsequently be installed from a local source. - The Silentinstall feature has been enhanced to allow automatic installation of a list of OSes, without having to remove all but the one OS you want to install.
This requires a bit of explanation to understand how the enhancements work.
Firstly, `silentinstall` on its own works exactly as it did before. The enhancements are enabled by including the new "select=" option.
The `select` option will do 3 things:
- It will prevent the normal silentinstall option of a single OS
- It will prevent the usual selection of all OSes that are currently installed.
- It will automatically select any OS that matches its selection criteria
The `select=` option specifies a quoted string of selection criteria to specify which OSes shall be selected.
The simplest option is to specify `select='allinstalled`, which effectively restores the previous functionality of PINN by selecting all previously installed OSes. However, if there are any previously installed OSes, this will actually prevent `silentinstall` from working, since that requires there be NO installed OSes in order to prevent accidental overwrite of any existing OSes.
The next use is to specify a comma separated list of OS names to be selected. This allows one or more OSes to be silently installed without having to remove references to all other OSes, so it is more convenient.
Three final selection options are `allsd`, `allusb` and `allnetwork` which select OSes based the installation source of the most recent version: SD card, USB drive or downloaded from the network respectively. (allnetwork is very useful with Matt Huisman's partition specifiying WebApp) But see "modifiers" below.
Modifiers
On startup, PINN will use several different sources to compile its list of OSes that can be installed: PINN's boot recovery partition of the SD card, the /os folder on a USB drive, and its list of remote repositories specified in recovery.cmdline (using alt_image_source, repo & repo_list). Whenever it finds a duplicate OS name, it will use the most recent version of that OS to populate its install list.
The selection criteria are applied immediately that a source has been read, and Silentinstall will operate as soon as all required sources have been read. So, due to the asynchronous nature that OS sources are detected, it is possible for silentinstall to start installing OSes before the complete OS list has been populated with the most recent versions and therefore it might not chose the OS version you expect.
To guard against this, several other command line options can be specified. `waitsd`, `waitusb` and `waitnetwork` can be specified to force PINN to wait until those specific sources have been read before actioning silentinstall. (`allsd`, `allusb` and `allnetwork` automatically imply `waitsd`, `waitusb` and `waitnetwork`, respectively). Be careful not to specify `waitnetwork` or `allnetwork` when you are not connected to a network, otherwise PINN will wait indefinitley for the network to be available and prevent silentinstall from ever executing. Selecting an OS by name does not specify any source, so it may be necessary to add an appropriate wait modifier to ensure the required source has been processed. Likewise, be careful not to choose waitusb if you have no usb drive. `waitall` is equivalent to `waitsd`, `waitusb` and `waitnetwork`.
There are additional modifiers that can be used to exclude specific sources from being processed: `disableusbimages` and `disablesdimages`. These prevent the SD card and USB drives from being searched for OSes. Network sources can be excldued by removing their URL from the appropriate commandline option. `no_default_source` may be necessary to exclude the RPF repository.
NOTE: The `select` option will work on its own without the `silentinstall` option; it will select the appropriate OSes according to its selection critera but not actually install them. You can perform the install manually on the selected OSes, or perform other actions. Remember, the silentinstall option will only work if there are no OSes already installed.
(* NOTE: It may be possible to simplify this in the next version by just detecting when all OSes have been processed)
See the full documentation for more details.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574
Re: STICKY: PINN - An enhanced version of NOOBS.
Some OS Updates
- Updated gentoo64 & gentoo64pt to v1.2.2
- ProjectSpace partition sizes have been adapted to suit more OSes.
- Added PiCore 9.0.3.
- Retropie flavours for DSI are now installable/downloadable from the internet.
- Full PINN includes the latest Raspbian & LibreELEC (& ProjectSpaces)
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574
Re: Android 7.1.2
I had a look at Lineage15.1 (Android 8.1) and installed it.BarryHavenga wrote: ↑Fri Jun 29, 2018 9:06 amHi. The latest Pinn installs quite an old version of Konstakang Lineage 7.1. How do I get it to update to the latest version? Regards
Apart from it being structured differently to the previous v14.1 (Android 7.1.2) It's also quite slow:
So I'm not proposing to add it to PINN at present as it doesn't seem to provide much of a benefit.This build currently uses Google’s SwiftShader software renderer so display performance is probably not what you’d expect. This build is not meant as a daily driver and it’s certainly not suitable for media device use.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574
-
- Posts: 4
- Joined: Fri Jun 29, 2018 9:02 am
Re: STICKY: PINN - An enhanced version of NOOBS.
Apparently the 8 versions are slow but the more recent 7.1.2 versions are better than the old ones.
Re: STICKY: PINN - An enhanced version of NOOBS.
I also found the rpf touchscreen turns off after a few mins and doesn't come back on again. I would stick with the 7.1.2 version
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574
Re: STICKY: PINN - An enhanced version of NOOBS.
PINN has been updated to v2.8.5.1
V2.8.5.1
The `silentreinstallnewer` option was added for a specific use case. Please read the full documentation for details on how this works before using.
V2.8.5.1
- Reinstall - BUGFIX for Re-install.
- translations - Updated it and zh_TW translations.
- silentreinstallnewer - USE WITH CAUTION. With `select=` it will silently re-install any selected OSes that are newer than the installed version.
The `silentreinstallnewer` option was added for a specific use case. Please read the full documentation for details on how this works before using.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574
Re: STICKY: PINN - An enhanced version of NOOBS.
@procount i ve created my own cec_keys.json file. Should i put it inside LITE-PINN's folder like in my pic i upload here? Github is a little confusing..
https://ibb.co/k8M0go

https://ibb.co/k8M0go
Last edited by Haris1977 on Tue Jul 10, 2018 9:32 am, edited 2 times in total.
Re: STICKY: PINN - An enhanced version of NOOBS.
Yes.
In cec_keys.md it states:
In cec_keys.md it states:
So, by PINN's recovery partition, I mean the partition where PINN is stored (/dev/mmcblk0p1 on the SD card), the only partition that is visible to Windows if you put the SD card in a PC, the same partition where you will find BUILD-DATA and recovery.rfs, as in your picture.The user-supplied CEC key mapping file must be called cec_keys.json and be stored in PINN's recovery partition.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574
Re: STICKY: PINN - An enhanced version of NOOBS.
Thanks man. It was just a little unclear though. You should add this explanation to the cec_keys.md file in order to avoid any further misunderstandings. Just my thought!procount wrote: ↑Tue Jul 10, 2018 8:40 amYes.
In cec_keys.md it states:
So, by PINN's recovery partition, I mean the partition where PINN is stored (/dev/mmcblk0p1 on the SD card), the only partition that is visible to Windows if you put the SD card in a PC, the same partition where you will find BUILD-DATA and recovery.rfs, as in your picture.The user-supplied CEC key mapping file must be called cec_keys.json and be stored in PINN's recovery partition.
