openoms
6 years ago
1 changed files with 191 additions and 0 deletions
@ -0,0 +1,191 @@ |
|||||
|
|
||||
|
# keep in mind that DietPi for Raspberry is also a stripped down Raspbian |
||||
|
echo "Detect Base Image ..." |
||||
|
baseImage="?" |
||||
|
isDietPi=$(uname -n | grep -c 'DietPi') |
||||
|
isRaspbian=$(cat /etc/os-release 2>/dev/null | grep -c 'Raspbian') |
||||
|
if [ ${isRaspbian} -gt 0 ]; then |
||||
|
baseImage="raspbian" |
||||
|
fi |
||||
|
if [ ${isDietPi} -gt 0 ]; then |
||||
|
baseImage="dietpi" |
||||
|
fi |
||||
|
if [ "${baseImage}" = "?" ]; then |
||||
|
cat /etc/os-release 2>/dev/null |
||||
|
echo "!!! FAIL !!!" |
||||
|
echo "Base Image cannot be detected or is not supported." |
||||
|
exit 1 |
||||
|
else |
||||
|
echo "OK running ${baseImage}" |
||||
|
fi |
||||
|
|
||||
|
|
||||
|
if [ "${baseImage}" = "raspbian" ]; then |
||||
|
echo "Press ENTER to install LCD and reboot ..." |
||||
|
read key |
||||
|
|
||||
|
# give Raspi a default hostname (optional) |
||||
|
sudo raspi-config nonint do_hostname "RaspiBlitz" |
||||
|
|
||||
|
# *** Display selection *** |
||||
|
dialog --title "Display" --yesno "Are you using the default display available from Amazon?\nSelect 'No' if you are using the Swiss version from play-zone.ch!" 6 80 |
||||
|
defaultDisplay=$? |
||||
|
|
||||
|
if [ "${defaultDisplay}" = "0" ]; then |
||||
|
|
||||
|
# *** RASPIBLITZ / LCD (at last - because makes a reboot) *** |
||||
|
# based on https://www.elegoo.com/tutorial/Elegoo%203.5%20inch%20Touch%20Screen%20User%20Manual%20V1.00.2017.10.09.zip |
||||
|
|
||||
|
echo "--> LCD DEFAULT" |
||||
|
cd /home/admin/ |
||||
|
sudo apt-mark hold raspberrypi-bootloader |
||||
|
git clone https://github.com/goodtft/LCD-show.git |
||||
|
sudo chmod -R 755 LCD-show |
||||
|
sudo chown -R admin:admin LCD-show |
||||
|
cd LCD-show/ |
||||
|
sudo ./LCD35-show |
||||
|
|
||||
|
else |
||||
|
|
||||
|
# Download and install the driver |
||||
|
# based on http://www.raspberrypiwiki.com/index.php/3.5_inch_TFT_800x480@60fps |
||||
|
|
||||
|
echo "--> LCD ALTERNATIVE" |
||||
|
cd /boot |
||||
|
sudo wget http://www.raspberrypiwiki.com/download/RPI-HD-35-INCH-TFT/dt-blob-For-3B-plus.bin |
||||
|
sudo mv dt-blob-For-3B-plus.bin dt-blob.bin |
||||
|
cat <<EOF >> config.txt |
||||
|
|
||||
|
dtparam=spi=off |
||||
|
dtparam=i2c_arm=off |
||||
|
|
||||
|
# Set screen size and any overscan required |
||||
|
overscan_left=0 |
||||
|
overscan_right=0 |
||||
|
overscan_top=0 |
||||
|
overscan_bottom=0 |
||||
|
framebuffer_width=800 |
||||
|
framebuffer_height=480 |
||||
|
|
||||
|
|
||||
|
enable_dpi_lcd=1 |
||||
|
display_default_lcd=1 |
||||
|
dpi_group=2 |
||||
|
dpi_mode=87 |
||||
|
dpi_output_format=0x6f015 |
||||
|
|
||||
|
# set up the size to 800x480 |
||||
|
hdmi_timings=480 0 16 16 24 800 0 4 2 2 0 0 0 60 0 32000000 6 |
||||
|
|
||||
|
#rotate screen |
||||
|
display_rotate=3 |
||||
|
|
||||
|
dtoverlay=i2c-gpio,i2c_gpio_scl=24,i2c_gpio_sda=23 |
||||
|
fi |
||||
|
EOF |
||||
|
init 6 |
||||
|
fi |
||||
|
fi |
||||
|
|
||||
|
|
||||
|
if [ "${baseImage}" = "dietpi" ]; then |
||||
|
|
||||
|
OPTIONS=(GPIO "Install the default display available from Amazon" \ |
||||
|
HDMI "Install the 3.5\" HDMI display from Aliexpress" \ |
||||
|
SWISS "Install the Swiss version from play-zone.ch" |
||||
|
) |
||||
|
|
||||
|
CHOICE=$(dialog --backtitle "RaspiBlitz - Display Install" --clear --title "Display Install" --menu "Choose a your diplay:" 10 70 6 "${OPTIONS[@]}" 2>&1 >/dev/tty) |
||||
|
|
||||
|
if [ "${CHOICE}" = "GPIO" ]; then |
||||
|
echo "Installing the default display available from Amazon" |
||||
|
|
||||
|
# based on https://www.elegoo.com/tutorial/Elegoo%203.5%20inch%20Touch%20Screen%20User%20Manual%20V1.00.2017.10.09.zip |
||||
|
cd /home/admin/ |
||||
|
#sudo apt-mark hold raspberrypi-bootloader |
||||
|
git clone https://github.com/goodtft/LCD-show.git |
||||
|
sudo chmod -R 755 LCD-show |
||||
|
sudo chown -R admin:admin LCD-show |
||||
|
cd LCD-show/ |
||||
|
# sudo ./LCD35-show |
||||
|
sudo rm -rf /etc/X11/xorg.conf.d/40-libinput.conf |
||||
|
sudo mkdir /etc/X11/xorg.conf.d |
||||
|
sudo cp ./usr/tft35a-overlay.dtb /boot/overlays/ |
||||
|
sudo cp ./usr/tft35a-overlay.dtb /boot/overlays/tft35a.dtbo |
||||
|
sudo cp -rf ./usr/99-calibration.conf-35 /etc/X11/xorg.conf.d/99-calibration.conf |
||||
|
sudo cp -rf ./usr/99-fbturbo.conf /usr/share/X11/xorg.conf.d/ |
||||
|
sudo cp ./usr/cmdline.txt /DietPI/ |
||||
|
sudo cp ./usr/inittab /etc/ |
||||
|
sudo cp ./boot/config-35.txt /DietPi/config.tx |
||||
|
echo "***" |
||||
|
echo "reboot with \`sudo reboot\` to have the LCD working" |
||||
|
echo "***" |
||||
|
|
||||
|
exit |
||||
|
|
||||
|
elif [ "${CHOICE}" = "HDMI" ]; then |
||||
|
echo "Installing the 3.5\" HDMI display from Aliexpress" |
||||
|
|
||||
|
# based on http://www.lcdwiki.com/3.5inch_HDMI_Display-B |
||||
|
git clone https://github.com/goodtft/LCD-show.git |
||||
|
chmod -R 755 LCD-show |
||||
|
cd LCD-show/ |
||||
|
#sudo ./MPI3508-show |
||||
|
sudo rm -rf /etc/X11/xorg.conf.d/40-libinput.conf |
||||
|
sudo cp -rf ./boot/config-35-480X320.txt /DietPi/config.txt |
||||
|
sudo cp ./usr/cmdline.txt /DietPi/ |
||||
|
sudo cp ./usr/inittab /etc/ |
||||
|
sudo cp -rf ./usr/99-fbturbo.conf-HDMI /usr/share/X11/xorg.conf.d/99-fbturbo.conf |
||||
|
sudo mkdir -p /etc/X11/xorg.conf.d |
||||
|
sudo cp -rf ./usr/99-calibration.conf-3508 /etc/X11/xorg.conf.d/99-calibration.con |
||||
|
echo "***" |
||||
|
echo "reboot with \`sudo reboot\` to have the LCD working" |
||||
|
echo "***" |
||||
|
|
||||
|
exit |
||||
|
|
||||
|
elif [ "${CHOICE}" = "SWISS" ]; then |
||||
|
|
||||
|
# Download and install the driver |
||||
|
# based on http://www.raspberrypiwiki.com/index.php/3.5_inch_TFT_800x480@60fps |
||||
|
|
||||
|
echo "--> LCD ALTERNATIVE" |
||||
|
cd /DietPi |
||||
|
sudo wget http://www.raspberrypiwiki.com/download/RPI-HD-35-INCH-TFT/dt-blob-For-3B-plus.bin |
||||
|
sudo mv dt-blob-For-3B-plus.bin dt-blob.bin |
||||
|
cat <<EOF >> config.txt |
||||
|
|
||||
|
dtparam=spi=off |
||||
|
dtparam=i2c_arm=off |
||||
|
|
||||
|
# Set screen size and any overscan required |
||||
|
overscan_left=0 |
||||
|
overscan_right=0 |
||||
|
overscan_top=0 |
||||
|
overscan_bottom=0 |
||||
|
framebuffer_width=800 |
||||
|
framebuffer_height=480 |
||||
|
|
||||
|
|
||||
|
enable_dpi_lcd=1 |
||||
|
display_default_lcd=1 |
||||
|
dpi_group=2 |
||||
|
dpi_mode=87 |
||||
|
dpi_output_format=0x6f015 |
||||
|
|
||||
|
# set up the size to 800x480 |
||||
|
hdmi_timings=480 0 16 16 24 800 0 4 2 2 0 0 0 60 0 32000000 6 |
||||
|
|
||||
|
#rotate screen |
||||
|
display_rotate=3 |
||||
|
|
||||
|
dtoverlay=i2c-gpio,i2c_gpio_scl=24,i2c_gpio_sda=23 |
||||
|
fi |
||||
|
EOF |
||||
|
init 6 |
||||
|
fi |
||||
|
|
||||
|
else |
||||
|
echo "CANCEL" |
||||
|
exit |
||||
|
fi |
Loading…
Reference in new issue