Skip to content

Commit

Permalink
v3.1 Added DOCs
Browse files Browse the repository at this point in the history
  • Loading branch information
procount committed Mar 10, 2019
1 parent 2516fde commit a876df0
Show file tree
Hide file tree
Showing 34 changed files with 6,195 additions and 5,425 deletions.
42 changes: 31 additions & 11 deletions BUILDME.sh
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,8 @@ BUILD_DIR="output/build"
IMAGES_DIR="output/images"

SKIP_KERNEL_REBUILD=0
SKIP_KERNEL_6=0
SKIP_KERNEL_7=0
SKIP_RECOVERY_REBUILD=0
UPDATE_TS=0

Expand Down Expand Up @@ -131,6 +133,15 @@ for i in $*; do
if [ $i = "skip-kernel-rebuild" ]; then
SKIP_KERNEL_REBUILD=1
fi
# Option to build just recovery without completely rebuilding both kernels
if [ $i = "skip-kernel-6" ]; then
SKIP_KERNEL_6=1
fi

# Option to build just recovery without completely rebuilding both kernels
if [ $i = "skip-kernel-7" ]; then
SKIP_KERNEL_7=1
fi

# Option to build just recovery without completely rebuilding both kernels
if [ $i = "skip-recovery-rebuild" ]; then
Expand Down Expand Up @@ -165,17 +176,26 @@ mkdir -p "$FINAL_OUTPUT_DIR/os"
cp -r ../sdcontent/* "$FINAL_OUTPUT_DIR"

if [ $SKIP_KERNEL_REBUILD -ne 1 ]; then
# Rebuild kernel for ARMv7
select_kernelconfig armv7
make linux-reconfigure
# copy ARMv7 kernel
cp "$IMAGES_DIR/zImage" "$FINAL_OUTPUT_DIR/recovery7.img"

# Rebuild kernel for ARMv6
select_kernelconfig armv6
make linux-reconfigure
# copy ARMv6 kernel
cp "$IMAGES_DIR/zImage" "$FINAL_OUTPUT_DIR/recovery.img"

if [ $SKIP_KERNEL_7 -ne 1 ]; then
# Rebuild kernel for ARMv7
select_kernelconfig armv7
make linux-reconfigure
# copy ARMv7 kernel
cp "$IMAGES_DIR/zImage" "$FINAL_OUTPUT_DIR/recovery7.img"
else
echo "Warning: kernel armv7 in '$NOOBS_OUTPUT_DIR' directory hasn't been updated"
fi

if [ $SKIP_KERNEL_6 -ne 1 ]; then
# Rebuild kernel for ARMv6
select_kernelconfig armv6
make linux-reconfigure
# copy ARMv6 kernel
cp "$IMAGES_DIR/zImage" "$FINAL_OUTPUT_DIR/recovery.img"
else
echo "Warning: kernel armv6 in '$NOOBS_OUTPUT_DIR' directory hasn't been updated"
fi
else
echo "Warning: kernels in '$NOOBS_OUTPUT_DIR' directory haven't been updated"
fi
Expand Down
728 changes: 373 additions & 355 deletions README.md

Large diffs are not rendered by default.

65 changes: 58 additions & 7 deletions README_PINN.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 v3.0.4
This README relates to v3.1

<sup>(PINN-lite 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`. More recently, `pinn.zip` has also been made available for download which includes versions of Raspbian and LibreELEC.)</sup>

Expand Down Expand Up @@ -158,6 +158,7 @@ There are three toolbars:
- **[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.
- **[Alias](#alias)**: Renames an installed OS by assigning it an alias.

The `more` button can be used to cycle through the 3 toolbars. (shortcuts = M or PageDown)

Expand Down Expand Up @@ -255,11 +256,36 @@ Remember to also enable the display in each OS that you want to use it with.

### How to use with Pimoroni's Hyperpixel displays

Support for Pimoroni's original Hyperpixel and the Hyperpixel4 displays has now been added to PINN.

After installing PINN to the SD card, simply download and unzip hyperpixel-display.zip from the sourceforge website and copy the contents over the top of PINN. The rainbow square will not show up on the Hyperpixel, because the display is not initialised until just before PINN starts. Only the display works at the moment - no touchscreen.

To use the Hyperpixel4 display, download and unzip hyperpixel4-display.zip from the sourceforge website and copy the contents over the top of PINN.
Support for Pimoroni's original Hyperpixel and the Hyperpixel4 displays has now been built into PINN in the form of new composite kernel drivers. These provide screen detection, LCD initialisation and touchscreen support for both screens.

To enable support for these screens add the appropriate dtoverlay to your config.txt file. The supported parameters are provided below:

Name: pimhyp3
Info: Overlay for activation of Pimoroni Hyperpixel 3.5"
Load: dtoverlay=pimhyp3,<param>[=<val>]
Params: rotate or rotate_0 Default orientation (landscape)
rotate_1 Rotate 90 degrees CW (portrait)
rotate_2 Rotate 180 degrees (landscape)
rotate_3 Rotate 180 degrees (landscape)
checkonly Checks for presence of screen but does not load driver
poll Uses polling instead of interrupts for Touchscreen
refresh-rate= Sets the refresh rate for polling mode in ms.

Name: pimhyp4
Info: Overlay for activation of Pimoroni Hyperpixel 4"
Load: dtoverlay=pimhyp4,<param>[=<val>]
Params: rotate or rotate_0 Default orientation (portrait)
rotate_1 Rotate 90 degrees CW (landscape)
rotate_2 Rotate 180 degrees (portrait)
rotate_3 Rotate 270 degrees (landscap)
checkonly Checks for presence of screen but does not load driver

To rotate the screens, add `display_lcd_rotate_0` to config.txt.
Replace the `0` with 1,2 or 3 for the various rotations.
To rotate the touchscreen add the appopriate dtparam to the overlay, e.g. `dtoverlay=pimhyp4:rotate_0`
For some rotations, it may also be necessary to set the `framebuffer_width` and `framebuffer_height` parameters.

Example config.txt files called config.hyp3 and config.hyp4 are included with example settings for each of the 4 rotations.

Remember to also enable the display in each OS that you want to use it with.

Expand Down Expand Up @@ -289,6 +315,10 @@ Use the username of `root` and password `raspberry` to login to the shell via th

NOTE: This SSH option is meant to be used on a local LAN only. If your Pi is open to the internet, **anyone** can gain access to PINN as the only security is a well-known username/password.

### Shell editors

Two editors are available in the recovery shell: vi and nano. Only the Tiny version of nano is included, so some features may not be present when compared to the version supplied with Raspbian.

### How to change display output modes

By default, PINN will output over HDMI at your display’s preferred resolution, even if no HDMI display is connected. If you do not see any output on your HDMI display or are using the composite output, press 1, 2, 3 or 4 on your keyboard to select HDMI preferred mode (1), HDMI safe mode (2), composite PAL mode (3), or composite NTSC mode (4), respectively.
Expand Down Expand Up @@ -322,6 +352,8 @@ PINN will remember your wifi network connections, so it is only necessary to ent

If you already know your WiFi details, you can preconfigure PINN to use them straight away. Put a copy of your `wpa_supplicant.conf` file on the PINN root partition and PINN will read it and store it in its settings for all future uses. The file will be renamed to `wpa_supplicant.conf.bak` to prevent it from overwriting any subsequent changes you make to the Wi-Fi networks using the GUI. This file will also be passed on to some OSes when they install.

If you need to have more control over your network connection, like setting a static IP address, it is also possible to drop a new copy of the dhcpcd.conf file onto the PINN root partition and PINN will read it and store it in its settings for all future uses. The file will be renamed to `dhcpcd.conf.bak` after being copied.

### Network Drivers

From v1.9.4, the following network drivers have been added to support a wider range of Wi-Fi and network adapters:
Expand Down Expand Up @@ -903,6 +935,13 @@ To replace one or more OSes, first select the new OSes you want to install on th

![alt text](screenshots/replace.png "Replace OSes.")


## Alias

The `alias` function will allow an installed OS to be given an alias name, which can be used to rename an OS.
When selected, a dialog box will open where the alias can be edited. The description of the OS can also be edited here.
This can be useful to distinguish multiple copies of the same OS that have been installed using ProjectSpaces.

---

# Advanced Usage
Expand Down Expand Up @@ -970,7 +1009,19 @@ PINN will automatically boot the last selected OS after it times out. If a HDMI

If an HDMI screen was not detected, PINN will copy the `config.dsi` file to config.txt on the selected OS and reboot into it.

When using this technique, do not make any modifications to config.txt directly otherwise they will be overwritten bny PINN on next boot. Instead, modify the appropriate config.dsi or config.hdmi file.
When using this technique, do not make any modifications to config.txt directly otherwise they will be overwritten by PINN on next boot. Instead, modify the appropriate config.dsi or config.hdmi file.

### Automatic Screen Detection

From v3.1 PINN includes automatic screen detection amongst HDMI, DSI and Pimoroni Hyperpixel screens. To enable this feature, download screenswitch.zip and unzip to the PINN recovery partition. This includes some config.txt files for the various screens and a pinn_init.sh script to detect and switch the screen configuration. The idea is that no matter which of these screens is fitted, PINN will always be able to make its display visible.

In the case where mutiple screens are attached at the same time, enter your preferred screen on the first line of `screenpref` as hdmi, dsi, hyp3 or hyp4 and PINN will attempt to select this one.

When PINN detects a different screen is fitted, it will reconfigure itself and reboot to make this take effect, so it takes slightly longer to boot in this instance.

Whilst the Hyperpixel screens and the HDMI monitor can nearly always be detected, the RPF DSI Touchscreen is sometimes not detectable, or hidden, depending on the current configuration. In this case it may be necessary to remove some displays and/or switch to HDMI mode in order to detect the DSI touchscreen and then switch to it.

Whilst using this screen detection technqiue, do not edit config.txt, but rather change the config file for the appropriate display. Also do not change the first line of each config file as this is used by the script to detect the current configuration.

---

Expand Down
8 changes: 8 additions & 0 deletions README_SUM.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,14 @@ Please note that in some cases it may extract the files into a folder, if this i

## Change History

## V3.1

- **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

## V3.0.4

- **forceupdatepinn** - Add forceupdatepinn option
Expand Down
11 changes: 11 additions & 0 deletions changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -474,3 +474,14 @@ Fixes the incorrect recovery.cmdline bug in v2.5.2.
## V3.0.4
- **forceupdatepinn** - Add forceupdatepinn option
- **OS Replace** - Fixed problem replacing an OS when PINN is booted from USB

## V3.1

- **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



4 changes: 3 additions & 1 deletion cypress3/config.dsi
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# selects dsi (rpf 7" touchsreen)
#select dsi
#(rpf 7" touchsreen)

dtoverlay=pimhyp3:checkonly
dtoverlay=pimhyp4:checkonly

Expand Down
3 changes: 2 additions & 1 deletion cypress3/config.hdmi
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#select hdmi
dtoverlay=pimhyp3:checkonly
dtoverlay=pimhyp4:checkonly

ignore_lcd=0
display_default_lcd=0
#Add any additional config options for HDMI hee

2 changes: 1 addition & 1 deletion cypress3/config.hyp4
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# select hyp4
#select hyp4
dtoverlay=pimhyp3:checkonly

# HyperPixel4 LCD Settings
Expand Down
43 changes: 0 additions & 43 deletions cypress3/config.txt

This file was deleted.

2 changes: 1 addition & 1 deletion deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ bsdtar cvzf firmware.tar.gz firmware.*
cp firmware.tar.gz $dst
cp changefirmware $dst
cp ~/pinn-os/os/overrides.json $dst
cp config.txt $dst
cp config.* $dst

# Make amendments
#================
Expand Down
9 changes: 9 additions & 0 deletions history.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,16 @@ PINN is a version of the NOOBS Operating System Installer for the Raspberry Pi w

## Change History

## V3.1

- **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

## V3.0.4

- **forceupdatepinn** - Add forceupdatepinn option
- **OS Replace** - Fixed problem replacing an OS when PINN is booted from USB

Expand Down
2 changes: 1 addition & 1 deletion recovery/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define CONFIG_H

/* Version number displayed in the title bar */
#define VERSION_NUMBER "3.0.5c"
#define VERSION_NUMBER "3.1"

/* Color of the background */
// #define BACKGROUND_COLOR Qt::white
Expand Down
Loading

0 comments on commit a876df0

Please sign in to comment.