diff --git a/README_PINN.md b/README_PINN.md index 5ebbed4c1..c374268dd 100644 --- a/README_PINN.md +++ b/README_PINN.md @@ -7,7 +7,7 @@ The latest version of [PINN](http://downloads.sourceforge.net/projects/pinn/pinn ### - [If you have PINN v2.4.3 - v2.4.4b installed, please manually update to v2.4.4c](https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574&start=200#p1239359) -This README relates to v2.8.3 +This README relates to v2.8.4 (PINN is only available in one format that does not include any operating systems at all. It is more akin to `NOOBS-lite` rather than `NOOBS`. For that reason, the filename that you download is called `pinn-lite.zip`) @@ -150,6 +150,7 @@ There are three toolbars: - **[Password](#how-to-recover-from-a-lost-password)**: Allows the password of an OS to be restored or replaced. - **[Fix](#how-to-fix-an-os)**: Performs repairs on file systems of the selected installed OSes. - **[Reinstall](#reinstall-individual-oses)**: Allows individual installed OSes to be reinstalled back to their original installation without affecting any of the other installed OSes. + - **[Replace](#replace-individual-oses)**: Allows individual installed OSes to be replaced by other/different OSes without affecting any of the other installed OSes. - **[Info](#info-on-os)**: [Networking Required] Opens a browser that displays the webpage for the selected OS. The `more` button can be used to cycle through the 3 toolbars. @@ -349,6 +350,8 @@ The following is a complete list of all the PINN options that can be added to th - **runinstaller**: This option is present when PINN is first installed to cause it to reformat the SD card. Once reformatted, PINN will delete this option. Manually adding it back in will cause PINN to reformat the SD card on next boot, losing any and all installed OSes, so be careful! +- **reserve=(+)NNN**: This option will reserve a set amount of space for PINN's partition (typically /dev/mmcblk0p1) when the `runinstaller` option first formats the SD card. This space may be useful for adding OS install files later, or for using the first partition as a transfer area for data between the RPi and a Windows PC that can only read the SD card's first partition. NNN specifies the total size of this partition in MB. The default value is around 64MB. If the size is prefixed with a '+' sign, the value indicates an amount of disk space to be reserved [i]in addition[/i] to the size of PINN's files. So, `reserve=200` will make P1 200MB in size and `reserve=+200` will make it about 263MB in size. + - **no_update**: Prevents PINN from performing a self-update check on boot up. Use the `reinstall` option to manually check for updates on PINN. - **nofirmware**: Prevents PINN from upgrading the firmware of old OSes to be compatible with PINN. @@ -512,6 +515,20 @@ Once USB boot mode is enabled, proceed as follows: 2. Boot PINN on the Pi from the USB device. 3. Install your requried OSes as normal. +## Project Spaces + +Project Spaces are empty OSes that just consist of an empty 100MB FAT32 partition and an empty 500MB nominal ext4 partition. Up to 8 Project Spaces can be installed onto an SD card along with any other OSes. Any remaining space left on the SD card will be divided up between all of these Project Spaces, so their ext4 partitions will expand to fill the remaining space and they will all be the same size. + +![alt text](screenshots/projectspaces.png "Project Spaces") + + +Project Spaces are useful when used with the [Replace](#replace-individual-os) OS function, as they reserve OS space that can be used later. The 3 main benefits are: +1. They reserve OS space, so the choice of which OS to install or add can be made later on. +2. They allow multiple instances of the same OS to be installed. +3. They allow the same amount of space to be used for each OS. + +When replacing a project space with another OS, remember that the new OS must have the same number of partitions as the project space and each partition must fit within the existing partition sizes. So creating 8 project spaces on a 16GB card may not be very useful as there will be <2GB left on each of the ext4 partitions. That maybe ok for some of the minimal OSes, but no good for a full Raspbian installation, for example. + ## PINN's Firmware Upgrade/Downgrade PINN v2.5.3+ includes new firmware, kernel and drivers to support the new Pi3B+ model. Whilst this firmware will allow PINN to run on all RPi models, some older OSes may not yet be compatible @@ -720,6 +737,8 @@ If you have changed your login password for an OS and forget what it is, PINN wi If your installed OS will not boot, the Fix option in the maintenance menu may help. It provides a list of operatiosn that you may perform to fix the OS. Check all operations that you want to be performed on your selected OSes. +![alt text](screenshots/fix.png "Fix an OS options.") + ### File System Check Most RPi OSes typically delay writing any data back to SD or USB drives for performance reasons. Normally, this does not cause a problem provided the Pi is shutdown properly before removing the power, but this is not always possible. You may experience a power loss, or a program crash where pulling the power is your only recourse to recovering control. In these circumstances there is a risk that the SD card or USB drive may become corrupted if some data failed to get written to the drive before the power was lost. @@ -740,6 +759,16 @@ The `Reinstall` option gets around this by allowing individual installed OSes to PINN itself is included in the list of installed OSes. If it is the ONLY OS to be selected, reinstalling it will perform a manual self-update check which is useful in the case where the `no_update` cmdline option has been used. +## Replace Individual OSes + +The `replace` function will allow the replacement of an installed OS with another different OS, provided the number of partitions in the two OSes is the same and the new OS will fit within the existing partition sizes. So it will work with most OSes, but not for those that use a non-standard partition layout, like Windows IoT or some Android versions. Any other installed OSes will remain unaltered. + +This is particularly useful with the [Project Spaces](#project-spaces) feature, which will allow OS space to be reserved for installing an OS at a later date. + +To replace one or more OSes, first select the new OSes you want to install on the `Main Menu`. Then move to the `Maintenance Menu` and select the OSes (or project Spaces) that you want to be replaced and click the `Replace` button. A dialog box will pop up lsiting all the OSes to be replaced. Alongside each one is a drop down box, where you can select which new OS shall replace each installed OS. The Click OK to replace the old OSes with the new OSes. + +![alt text](screenshots/replace.png "Replace OSes.") + --- # Advanced Usage diff --git a/README_SUM.md b/README_SUM.md index 428e5b87d..2b3788cbe 100644 --- a/README_SUM.md +++ b/README_SUM.md @@ -45,6 +45,15 @@ Please note that in some cases it may extract the files into a folder, if this i ## Change History +### V2.8.4 + +- **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 + ### V2.8.3 - **Programmable CEC** - Fixed bugs diff --git a/buildroot/.config b/buildroot/.config index 950764869..0abd2ac26 100644 --- a/buildroot/.config +++ b/buildroot/.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Buildroot 2015.02-git-00008-ga976550-dirty Configuration +# Buildroot 2015.02-git-00001-g3b7f0db Configuration # BR2_HAVE_DOT_CONFIG=y @@ -403,7 +403,7 @@ BR2_PACKAGE_KODI_EGL_GLES=y # BR2_PACKAGE_LZ4 is not set # BR2_PACKAGE_LZIP is not set # BR2_PACKAGE_LZOP is not set -# BR2_PACKAGE_XZ is not set +BR2_PACKAGE_XZ=y # # Debugging, profiling and benchmark diff --git a/buildroot/kernelconfig-recovery.armv6 b/buildroot/kernelconfig-recovery.armv6 index 2c7b0e7c1..28e955888 100644 --- a/buildroot/kernelconfig-recovery.armv6 +++ b/buildroot/kernelconfig-recovery.armv6 @@ -20,7 +20,6 @@ CONFIG_ARCH_BCM2835=y # CONFIG_ARM_THUMB is not set # CONFIG_CACHE_L2X0 is not set CONFIG_PREEMPT=y -CONFIG_AEABI=y CONFIG_CMA=y CONFIG_UACCESS_WITH_MEMCPY=y # CONFIG_ATAGS is not set @@ -94,7 +93,6 @@ CONFIG_RT2800USB_RT55XX=y # CONFIG_WLAN_VENDOR_ST is not set # CONFIG_WLAN_VENDOR_TI is not set CONFIG_ZD1211RW=y -# CONFIG_WLAN_VENDOR_ZYDAS is not set # CONFIG_WLAN_VENDOR_QUANTENNA is not set CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_EVDEV=y diff --git a/changes.md b/changes.md index 4867b4b31..ff612541c 100644 --- a/changes.md +++ b/changes.md @@ -387,3 +387,11 @@ Fixes the incorrect recovery.cmdline bug in v2.5.2. - **Programmable CEC** - Fixed bugs - **networktimeout** - Added timeout to detect network presence +### V2.8.4 + +- **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 diff --git a/history.md b/history.md index 58a129577..3b2451505 100644 --- a/history.md +++ b/history.md @@ -5,6 +5,15 @@ PINN is a version of the NOOBS Operating System Installer for the Raspberry Pi w ## Change History +### V2.8.4 + +- **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 + ### V2.8.3 - **Programmable CEC** - Fixed bugs diff --git a/recovery/config.h b/recovery/config.h index 891f59076..4730f723e 100644 --- a/recovery/config.h +++ b/recovery/config.h @@ -2,7 +2,7 @@ #define CONFIG_H /* Version number displayed in the title bar */ -#define VERSION_NUMBER "2.8.3b" +#define VERSION_NUMBER "2.8.4" /* Color of the background */ // #define BACKGROUND_COLOR Qt::white diff --git a/recovery/osgroup.cpp b/recovery/osgroup.cpp index 3f3805b88..4c2277056 100644 --- a/recovery/osgroup.cpp +++ b/recovery/osgroup.cpp @@ -15,7 +15,7 @@ QT_TRANSLATE_NOOP("OsGroup","Games") QT_TRANSLATE_NOOP("OsGroup","Minimal") QT_TRANSLATE_NOOP("OsGroup","Education") QT_TRANSLATE_NOOP("OsGroup","Installed") -QT_TRANSLATE_NOOP("OsGroup","Projects") +QT_TRANSLATE_NOOP("OsGroup","Utility") #endif OsGroup::OsGroup(QMainWindow *mw, Ui::MainWindow *ui, bool doGrouping, QObject *parent) : diff --git a/recovery/translation_ae.ts b/recovery/translation_ae.ts index 547f01f63..5c26b258d 100644 --- a/recovery/translation_ae.ts +++ b/recovery/translation_ae.ts @@ -1255,7 +1255,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_ast.ts b/recovery/translation_ast.ts index f19eed8a2..4cee333c1 100644 --- a/recovery/translation_ast.ts +++ b/recovery/translation_ast.ts @@ -1255,7 +1255,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_ca.ts b/recovery/translation_ca.ts index b830d6cbd..93c0ea996 100644 --- a/recovery/translation_ca.ts +++ b/recovery/translation_ca.ts @@ -1253,7 +1253,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_de.ts b/recovery/translation_de.ts index 6a0c402e8..064e51725 100644 --- a/recovery/translation_de.ts +++ b/recovery/translation_de.ts @@ -1268,7 +1268,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_en.ts b/recovery/translation_en.ts index fe3479f4e..d0822b7cf 100644 --- a/recovery/translation_en.ts +++ b/recovery/translation_en.ts @@ -1253,7 +1253,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_es.ts b/recovery/translation_es.ts index c74e64028..831fe6ae3 100644 --- a/recovery/translation_es.ts +++ b/recovery/translation_es.ts @@ -1263,7 +1263,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_eu.ts b/recovery/translation_eu.ts index 23eca5567..14d5a938d 100644 --- a/recovery/translation_eu.ts +++ b/recovery/translation_eu.ts @@ -1261,7 +1261,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_fi.ts b/recovery/translation_fi.ts index 36c7b68d4..46b5ece1d 100644 --- a/recovery/translation_fi.ts +++ b/recovery/translation_fi.ts @@ -1266,7 +1266,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_fr.ts b/recovery/translation_fr.ts index 1befdff39..e1a1aa386 100644 --- a/recovery/translation_fr.ts +++ b/recovery/translation_fr.ts @@ -1269,7 +1269,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_hu.ts b/recovery/translation_hu.ts index f0b2c43aa..097c4aad7 100644 --- a/recovery/translation_hu.ts +++ b/recovery/translation_hu.ts @@ -1268,7 +1268,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_it.ts b/recovery/translation_it.ts index c98ac257b..54e69aaf8 100644 --- a/recovery/translation_it.ts +++ b/recovery/translation_it.ts @@ -1276,7 +1276,7 @@ Partizione non abbastanza grande per la nuova immagine. - Projects + Utility diff --git a/recovery/translation_ja.ts b/recovery/translation_ja.ts index b877226eb..7255c1203 100644 --- a/recovery/translation_ja.ts +++ b/recovery/translation_ja.ts @@ -1268,7 +1268,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_ko.ts b/recovery/translation_ko.ts index 4951800e0..648b249ee 100644 --- a/recovery/translation_ko.ts +++ b/recovery/translation_ko.ts @@ -1247,7 +1247,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_nl.ts b/recovery/translation_nl.ts index bfdd95daa..b5f5e07f2 100644 --- a/recovery/translation_nl.ts +++ b/recovery/translation_nl.ts @@ -1268,7 +1268,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_no.ts b/recovery/translation_no.ts index 2aa9ea1b5..ef1f60135 100644 --- a/recovery/translation_no.ts +++ b/recovery/translation_no.ts @@ -1253,7 +1253,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_pl.ts b/recovery/translation_pl.ts index 3f504f64e..ba7940ead 100644 --- a/recovery/translation_pl.ts +++ b/recovery/translation_pl.ts @@ -1268,7 +1268,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_pt.ts b/recovery/translation_pt.ts index ef36a0fe9..51ea6422d 100644 --- a/recovery/translation_pt.ts +++ b/recovery/translation_pt.ts @@ -1269,7 +1269,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_ru.ts b/recovery/translation_ru.ts index b0f116154..7aafd580f 100644 --- a/recovery/translation_ru.ts +++ b/recovery/translation_ru.ts @@ -1268,7 +1268,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_sv.ts b/recovery/translation_sv.ts index 2fc1e288a..cc92ff4a0 100644 --- a/recovery/translation_sv.ts +++ b/recovery/translation_sv.ts @@ -1266,7 +1266,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_tr.ts b/recovery/translation_tr.ts index 318e0cb93..c78909db4 100644 --- a/recovery/translation_tr.ts +++ b/recovery/translation_tr.ts @@ -1267,7 +1267,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/recovery/translation_zh_TW.ts b/recovery/translation_zh_TW.ts index 49765469f..527427a22 100644 --- a/recovery/translation_zh_TW.ts +++ b/recovery/translation_zh_TW.ts @@ -1263,7 +1263,7 @@ Partition not big enough for new image. - Projects + Utility diff --git a/screenshots/archival.png b/screenshots/archival.png new file mode 100755 index 000000000..b8c855661 Binary files /dev/null and b/screenshots/archival.png differ diff --git a/screenshots/clone.png b/screenshots/clone.png new file mode 100755 index 000000000..56b8d3a9f Binary files /dev/null and b/screenshots/clone.png differ diff --git a/screenshots/download.png b/screenshots/download.png new file mode 100755 index 000000000..910432dd6 Binary files /dev/null and b/screenshots/download.png differ diff --git a/screenshots/fix.png b/screenshots/fix.png new file mode 100755 index 000000000..72f848970 Binary files /dev/null and b/screenshots/fix.png differ diff --git a/screenshots/fsck.png b/screenshots/fsck.png new file mode 100755 index 000000000..38c530bbd Binary files /dev/null and b/screenshots/fsck.png differ diff --git a/screenshots/info.png b/screenshots/info.png new file mode 100755 index 000000000..62e2d5b3f Binary files /dev/null and b/screenshots/info.png differ diff --git a/screenshots/maintenance.png b/screenshots/maintenance.png new file mode 100755 index 000000000..9d3e2b110 Binary files /dev/null and b/screenshots/maintenance.png differ diff --git a/screenshots/password.png b/screenshots/password.png new file mode 100755 index 000000000..1adeb53d1 Binary files /dev/null and b/screenshots/password.png differ diff --git a/screenshots/projectspaces.png b/screenshots/projectspaces.png new file mode 100755 index 000000000..5ef17d3f2 Binary files /dev/null and b/screenshots/projectspaces.png differ diff --git a/screenshots/replace.png b/screenshots/replace.png new file mode 100755 index 000000000..b3bc3894c Binary files /dev/null and b/screenshots/replace.png differ diff --git a/sdcontent/reboot b/sdcontent/reboot new file mode 100755 index 000000000..2633db4d9 --- /dev/null +++ b/sdcontent/reboot @@ -0,0 +1,2 @@ +#!/bin/sh +echo b>/proc/sysrq-trigger