PINN has been updated to 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
There are 2 major changes in this release:
- 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.
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.