#!/bin/bash sudo ./system_backup.sh hw_version=`tr -d '\0' < /proc/device-tree/model` root_dev=`grep -oPr "root=[^\s]*" /boot/cmdline.txt | awk -F= '{printf $NF}'` if test "$root_dev" = "/dev/mmcblk0p7";then sudo cp -rf ./boot/config-noobs-nomal.txt ./boot/config.txt.bak else sudo cp -rf ./boot/config-nomal.txt ./boot/config.txt.bak sudo echo "hdmi_force_hotplug=1" >> ./boot/config.txt.bak fi sudo echo "hdmi_force_edid_audio=1" >> ./boot/config.txt.bak sudo echo "dtparam=i2c_arm=on" >> ./boot/config.txt.bak sudo echo "dtparam=spi=on" >> ./boot/config.txt.bak sudo echo "enable_uart=1" >> ./boot/config.txt.bak sudo echo "display_rotate=0" >> ./boot/config.txt.bak sudo echo "max_usb_current=1" >> ./boot/config.txt.bak sudo echo "config_hdmi_boost=7" >> ./boot/config.txt.bak sudo echo "hdmi_group=2" >> ./boot/config.txt.bak sudo echo "hdmi_mode=1" >> ./boot/config.txt.bak sudo echo "hdmi_mode=87" >> ./boot/config.txt.bak sudo echo "hdmi_drive=2" >> ./boot/config.txt.bak sudo echo "hdmi_cvt 480 320 60 6 0 0 0" >> ./boot/config.txt.bak sudo echo "dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900" >> ./boot/config.txt.bak [[ $hw_version =~ "Raspberry Pi 4" ]] && sudo echo "hdmi_timings=600 0 20 28 48 400 0 13 3 32 0 0 0 30 0 25000000 5" >> ./boot/config.txt.bak sudo cp -rf ./boot/config.txt.bak /boot/config.txt #sudo cp -rf ./boot/config-35-480X320.txt /boot/config.txt if test "$root_dev" = "/dev/mmcblk0p7";then sudo cp ./usr/cmdline.txt-noobs /boot/cmdline.txt else sudo cp ./usr/cmdline.txt /boot/ fi sudo cp ./usr/inittab /etc/ sudo cp -rf ./usr/99-fbturbo.conf-HDMI /usr/share/X11/xorg.conf.d/99-fbturbo.conf if [ ! -d /etc/X11/xorg.conf.d ]; then sudo mkdir /etc/X11/xorg.conf.d fi sudo cp -rf ./usr/99-calibration.conf-3508-0 /etc/X11/xorg.conf.d/99-calibration.conf sudo touch ./.have_installed echo "hdmi:resistance:3508:0:480:320" > ./.have_installed #nodeplatform=`uname -n` #kernel=`uname -r` version=`uname -v` #if test "$nodeplatform" = "raspberrypi";then #echo "this is raspberrypi kernel" version=${version##* } #version=${version#*#} echo $version if test $version -lt 2017;then echo "reboot" else echo "need to update touch configuration" sudo dpkg -i -B ./xserver-xorg-input-evdev_1%3a2.10.5-1_armhf.deb 2> error_output.txt #sudo apt-get install xserver-xorg-input-evdev 2> error_output.txt result=`cat ./error_output.txt` echo -e "\033[31m$result\033[0m" grep -q "error:" ./error_output.txt && exit sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf #echo "reboot" fi #else #echo "this is not raspberrypi kernel, no need to update touch configure, reboot" #fi sudo sync sudo sync sleep 1 if [ $# -eq 1 ]; then sudo ./rotate.sh $1 elif [ $# -gt 1 ]; then echo "Too many parameters" fi echo "reboot now" sudo reboot