Announcing PINN - a fork of NOOBS.
EDIT: Now updated to v3.8.7 (6/05/2023)
UPDATE: PINN is now installable direct from Raspberry Pi Imager - Look under the "Misc utility images"
Like NOOBS, PINN is an Operating System installer for the Raspberry Pi that allows multiple OSes to be installed on your SD card. At boot time, one of the installed OSes can be selected to boot into.
PINN can also act as a recovery program to re-install your OS back to "initial install conditions" in the event that it gets messed up, or you just want to start again.
PINN is based on NOOBS v3.8, so it includes all of its features plus the following additional features:
(Click on the version to jump to the relevant announcement in this thread for more info)
V3.8.7
- Hyperpixel - Reinstated Hyperpixel3 drivers and updated pinn_init
- Default Repos - Changed the default Repos.
- Updates - Improved the update process to prevent overwriting of config files etc.
- WifiDialog - Resized the wifi dialog to fit on 800x480 sized displays.
- Hyperpixel4 - Updated Hyperpixel4 drivers and config files for Pi4
- Network - Fixed network time setting
- Security - Fixed secure ssh implementation
- Images - Added mkswap partition support for OS images
- NVMe - Support for booting on NVMe drives on CM4
- Security - Secure remote SSH and VNC access
- Delete WiFi - Remove the WIFI SSID
- Kernel/FW - Update Kernel to 5.10.103 & Firmware
- Override - Allow supported_models to be overridden
- Downloads - Allow markeitng.tar and partition_setup.sh to be optional files.
- Backup - Minor fix to parsing of supports_backup
- tarball - Allow tarballs in partitions.json
- tarballs - Allow missing tarballs for emptyfs
- Translation - Update italian Translation
- wifi - New wifi firmware packaging
- Kernel/FW - Update kernel, firmware and userland to match NOOBS 3.8
- Pigz - Update pigz from 2.4 to 2.7
- Bootmenu - BOOTMENUTIMEOUT=0 means no countdown to boot
- LineageOS - better FS support for latest Android
- Install - Improve installation dialog for better security to prevent overwrites
- Arora - Add useful PINN bookmarks to web browser
- Tooltips - Add tooltips showing OS version and release date (if known)
- SSL Errors - Fix for Let's Encrypt SSL errors.
- Backup - Backup now stores additional final ACL attributes[/b]
- Firmware - Updated firmware to match NOOBS 3.7
- DevEnv - The development environment used to build PINN is now Ubuntu 20.04[/b]
- Firmware - Updated firmware and wifi to match NOOBS 3.6
- Language - Updated Italian translation
- pinn_init - Fixed pinn_init.sh for USB boots
- Provision - Added option for manual SSD provisioning
- runinstaller - Maintain network settings during runinstaller
- self-check - Manual check for PINN upgrade removes ignore flag. #497
- Joysticks - New joystick drivers including triggers and deadzones. Support for 2 joysticks.
- Firmware - Removed firmware upgrades for very old OSes.
- Install - Install icon changed to warn against deletion {#380}
- CM4 - Added dwc2 USB driver for CM4
- Backup - Better backups by deleting socket files (#442) and setting attributes (#447).
- ssh - Uses permanent storage
- progress - prevent progressdialog from closing
- buildroot - improve some build scripts
- dualhdmi - fix license
- Installation - Refactor close dialogs for better error handling
- Memory - Display amount of Pi memory fitted
- partuuid - Allow installation to USB without partuuid
- Filesystems - Added support for ext3 and exfat
- wifi - Wifi firmware updated
- HDMI - Automatic switching between HDMI0 and HDMI1
- Translations - Update it translations
- KERNEL - Fix issue with PI4 8GB models
- KERNEL - Bump firmware & kernel as NOOBS 3.5 for CM4
- Certificates - Fix arora certificate errors
- Translations - Update it and zh_TW translations
- Prompt - Update shell prompt
- Clarify - Clarify text between replace & reinstall
- Logs - Add Show Log in Fix up menu
- Bugfix - Fix partition labels when replacing OS (#418)
- Backup - Fix backup of Raspberry Pi OS
- Install - Use multithreaded xz
- Flavours - Fix use of .txt files
- Bugfix - fix crash if no source (#414)
- Firmware - Update firmware 5.4.45 for usb-boot (beta)
- Name Change - Update recommended OS name
- KeybdTrigger - Fix keyboard trigger option
- Translations - Update Italian language
- Raspberry Pi OS - Included new Pi OS in full version
- CloneSD - Remove drive restrictions on Clone SD
- Set Time - Added indication that time is in UTC
- Replace - Fixed shortcut for Replace OS
- Buildversions - Made buildversions more intuitive (for me!)
- Legacy - Accounted for Pi4 when identifying legacy hardware
- New OSes - Updated Raspbian and LibreELEC in the full version
- Wifi - Re-added the missing wifi drivers
- MBR fix - Better detection of non-MBR formatted SD cards.
- Joysticks - Better detection of joysticks that are slow to connect, like Xbox One S gamepads.
- Reload Repos - New button to reload the distribution list from internet.
- fontsize - Added rudimentary font size adjustment using +/- keys.
- Joystick - Added support for USB Joysticks/Gamepads (Xbox-style)
- Silentinstall - Fixed a bug when silent-installing from the network
- VirtualKeyboard - Added a Virtual Keyboard for wifi and option dialogs
- Missing MBR fix - Fix to allow SD cards formatted without an MBR to be used
- Translations - Updated a few translations (it, zh_TW, ko, de)
- HDMI Pi4 - Removed hdmi_force_hotplug
- Downloads - Fixed download progressbar
- Replace - Changed accelerator key from L to C
- Pi4 support - Added support for the new RPi4. Includes Raspbian Buster in full version.
- Hyperpixel - Fixed hyperpixel 4 overlay file
- Wifi Drivers - Re-added Realtek rtl8188eu and rtl8192cu modular wifi drivers.
- Build - Modified to build on Ubuntu 18.10 'cosmic'
- Progress - Experimental modification to measure installation progress more accurately
- Wifi dialog - Removed focus change for better use by keyboard
- Zipfles - Use bsdtar to unzip inline for checksums
- Esc - Esc key exits all menus
- Firmware - Don't automatically downgrade firmware
- Options - Added shortcuts for better keyboard use
- GPIO - Can specify the gpiochannel and gpiochannelValue to trigger reocvery menu
- Customisations - Fix application of customisations
- Backup hotfix - Fix for OSnames with spaces.
- Translations - Updated IT & zh_TW
- Iconsizes - fixed to 40x40
- Download - ignore partials
- Added file checksums
- More robust file transfer
- Resumable download
- Change boot selection order
- Added options dialog
- alias - Fix underscores
- backup - Much faster backups on multicore processors
- silentreinstallnewer - exits to boot menu & stops remotetimeout
- menu - Removed PageDown->nextmenu function because it conflicts
- Translations - Updated IT & zh_TW translations
- Nano - Added nano text editor
- Rename - Allows giving an OS an Alias name & change its description
- Hyperpixel - Added full kernel drivers to support Pimoroni Hyperpixel 3.5" and 4" touchscreens
- ScreenSwitch - Performs automatic screen switching at bootup
- dhcpcd - Now configurable
- forceupdatepinn - Add forceupdatepinn option
- OS Replace - Fixed problem replacing an OS when PINN is booted from USB
- Backup/Download - Removed the need to reboot after a download or backup.
- Wallpapers - removed wallpapers folder & allowed JPEGs
- Default wallpaper - Changed default to wallpaper.jpg
- Backup - BACKUP an OS in NOOBS/PINN format
- Time - Added button to set date & time manually
- Download - Fix foldername of some OSes when downloaded
- Iconcache - Icons are cached to speed up startup when connected to the internet
- RPi 3A+ - Supports the 3A+
- Boot menu - Sticky default now uses bootmenutimeout
- rebootp - Added rebootp command to recovery shell
- Boot menu - Fixed focus and sticky default partuuid issues.
- wallpaper_resize - Customised wallpaper can now be resized to fill the screen
- Partuuid - Fixed an issue from v2.8 where partuuids were introduced to installed_os.json
- Wallpaper - Customised wallpaper is now available by writing your own `wallpaper.png` file to PINN's recovery partition
- VNCnotice - Displays a notice on the main screen when vncinstall is in use
- PINN update - Prevents crash on manual update when there is no network
- ae-ts - tidy up of translations
- 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.
- 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.
- Replace OSes - Allows the replacement of one OS with another
- Project Spaces - Added Project Spaces
- Reserve disk space - Reserve some space on PINN's partition before formatting
- mkimage - Added mkimage from uboot
- xz - Allow XZ Compression
- Update Dialog - This now cancels any timeout setting
- Programmable CEC - Fixed bugs
- networktimeout- Added timeout to detect network presence
- Programmable CEC - Allow TV remote buttons using CEC to be programmed
- Fix menu - Replaced Fsck with Fix menu option to include a wider range of tools
- Store meta - Additional meta files stored on installation for fix up tools
- Partuuid - Store partuuid references for better USB support
- Tab fix - Fixed synchronisation of OS tab display
- Kernel - Bump 4.14 kernel to work with older firmwares
- pinn_init.sh - Added script to run before PINN (eg. for Hyperpixel)
- Hyperpixel - Added support for Hyperpixel display
- Firmware - Bump firmware
- Kernel - Update kernel to 4.14
- Retropie 4.4 - included
- self-update - A minor fix to the self-update ignore feature
V2.5.4
- Countdown - Fixed the Boot selection countdown timer display that had disappeared.
V2.5.3
- Switch firmware - Ability to switch PINN's firmware for Rpi 3B+ and other models.
- firmware - New firmware for Rpi 3B+
- Kernel - Update to kernel 4.9.80
- OS firmware - Latest firmware is slip streamed onto old OSes
- wifi drivers - Some wifi drivers temporarily removed until they can be upgraded
- Arora - Prevented multiple instances of Arora browser running
- rtl8812 wifi - added rtl8812au_rtl8821au-4.3.20 wifi driver for some 5GHz dongles
This new option allows PINN to be used more easily in a remote headless environment.
- remotetimeout - Enable network for remote boot alteration.
Re-install improvements.
V2.4.5
This is a small maintenance release for some cosmetic changes and bugfixes mainly.
- background - Specify the background colour as background=r,g,b
- style - Change the style with style=motif/windows/platinum
- configpath - (partially) allow remote flavours to customise an OS
- dsi - Allows the HDMI/DSI switching option to work with OSes installed to USB
Self-update is now fixed. Please manually upgrade to this version if you have v2.4.3 to v2.4.4b or your PINN version is not self-updating.
V2.4.4
- Re-install - Re-install an OS without affecting others
- no_update - disable PINN self-update (manual refesh of PINN available)
- update PINN - A manual PINN update check can now be done (for when no_update is used)
- Edit PINN - The recovery.cmdline and config.txt fiels of PINN can now be edited.
- no_cursor - The no_cursor option now only affects the bootselection dialog
- Wipe - The Wipe Disk command has been temporarily removed
- Max OSes - The number of OSes has been restricted so that boot partitions numbers are <63
- 3 Toolbars - Main Menu, Archival and Maintenance.
- OS Groups - OS lists are grouped into General, Minimal, Educational, Media and Gaming.
- Download OS - Download an OS to USB for local installation.
- Fsck - Check and fix your filesystems in case of error.
- Wipe Disk - Delete all OSes and restore drive to full capacity.
- Info button - Go directly to the webpage of each OS.
- Minor Updates - Large MSDs, Password, Slideshow & Translation updates
- Translations - Updated Italian and Chinese translations
- New OSes - New OSes and older ones updated to support Autoboot
- repo_list - Added repo_list cmdline argument
- btrfs - Added support for btrfs file systems
- Update - Rebase onto NOOBS 2.4
- repo - Support "repo=" from NOOBS
- USB support - Supports USB BOOT and USB ROOTFS
- Win10IoT - Fixed annoying warning messages on installation
- RTAndroid - re-included missing cpio to allow installation
- USB MSD - Supports installing to an external USB storage device
- PiZero W - More Firmware/Kernel updates for PiZero W
- Wifi chan 13 - Allows a wider range of wifi channels
- PiZero W - Updated Firmware & Kernel for PiZero W
- IP address - Shown in window title
- CEC key mapping- Replaced 0 button with PLAY button for greater applicability
- BOOT - Added BOOT button to boot selection dialog for use with limited TV remotes
- plus others...
- Translations - Includes updated translations from the community.
- Default Boot - A default OS can be set in a multi-boot setup for quicker boots.
- Bootmenutimout - The timeout of the boot selection dialog can be changed.
- SHIFT key - The PINN interface can be reached using the Left mouse button or a CEC enabled TV remote key as well as the SHIFT key.
- CEC - Added support for TV remotes on TVs that use the CEC standard
- IoTpHAT - Added support for the IoTpHAT wifi
- Network Drivers - Added the popular RTL8188eu wifi driver (for HubPiWi and others)
- New Firmware - Updated Firmware and Kernel to match NOOBS 2.0
- Retropie v3.8 - Added installation of Retropie v3.8 (to be updated to a later version)
- Self-Update - Notification and download of new releases
- Network Drivers - Fixed the popular RTL8188cus wifi driver.
- RPI3 ACT_LED - Now displays correctly on SD card access
- Network Drivers - A number of additional wifi and ethernet drivers have been added.
- Dialog Box - The initialisation dialog box is removed under network errors
- Clone SD Card - Copy the SD card to another card in a USB reader (BETA)
- Rescue shell - Exiting the rescue shell now enters the PINN recovery program instead of another shell. (Thanks to Plugh)
- VNCSHARE - Sets up PINN to use VNC at the same time as an attached screen
- OPENELEC - restored the link to the Openelec distro (this will not update and therefore may not be the latest)
- https - Fixed the ability to use https protocol (which was preventing Arch from installing sometimes).
- wifi config - A user supplied wpa_supplicant.conf file is now ALWAYS copied to /settings and then renamed to wpa_supplicant.conf.bak so that it does not continually overwrite any manual changes made through the GUI.
- Password - Change or reset your password for each OS.
- DSI/HDMI - Auto-switching of DSI/HDMI screen with HDMI taking priority
- NoobsConfig - Config filenames now now have all spaces converted to underscores
- Multiple Os - Multiple installed OSes can now be selected again.
- DHCP - ClientID is now used instead of DUID to request an IP address
- USB support - store your OS installations on USB stick to avoid wasting SD card space and avoid downloading each time.
- Alternative Source - Install OSes from an alternative website, or local webserver
- ARCH support - Install the Arch Linux OS directly from the Arch website
- VGA666 support - Allow PINN to be used with Gert's VGA666 adaptor
- NOOBSCONFIG support - Allow customisation of an OS installation as it installs
- SSH support - SSH remotely into you PINN installation.
- Progress indication - View your installation progress via alternative means
I am already working on new features for the next release of PINN, but if you have some ideas of your own that you would like to see included, then please post them (but no promises!)
Full documentation is available on the PINN github which includes documentation of NOOBS up to v2.0, plus documentation of the new features and all source code.
Pinn-lite.zip
A full version of PINN is available at pinn.zip that includes Raspbian and LibreElec.
There is also an image version of pinn-lite that can flashed using Balena Etcher or the Raspberry Pi Imaging Utility. - Now available directly within Raspberry PI Imager.
If you have an SD card >32GB and have trouble formatting it as FAT32 in order to copy the file contents of pinn-lite.zip or pinn.zip to it, please use the Etcher version, or see https://github.com/procount/fat32images for an alternative solution.
NOOBS/PINN is not suitable for everyone. If you prefer to DD your image files directly to the SD card, then carry on.
But if you like NOOBS and like the idea of the above new features, then maybe give PINN a try.