-
Notifications
You must be signed in to change notification settings - Fork 42
/
Copy pathMHS40-show
executable file
·132 lines (123 loc) · 4.54 KB
/
MHS40-show
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#!/bin/bash
sudo ./system_backup.sh
#version=`lsb_release -r | awk -F ' ' '{printf $NF}'`
source ./system_config.sh
if [ -f /etc/X11/xorg.conf.d/40-libinput.conf ]; then
sudo rm -rf /etc/X11/xorg.conf.d/40-libinput.conf
fi
if [ ! -d /etc/X11/xorg.conf.d ]; then
sudo mkdir -p /etc/X11/xorg.conf.d
fi
if [ "$version" = "20.10" ] || [[ "$version" > "20.10" ]]; then
sudo cp ./usr/mhs395-overlay-20.10.dtb /boot/firmware/overlays/mhs395-overlay.dtb
sudo cp ./usr/mhs395-overlay-20.10.dtb /boot/firmware/overlays/mhs395.dtbo
else
sudo cp ./usr/mhs395-overlay.dtb /boot/firmware/overlays/
sudo cp ./usr/mhs395-overlay.dtb /boot/firmware/overlays/mhs395.dtbo
fi
if [[ "$version" < "20.04" ]]; then
#sudo cp -rf ./boot/config-nomal.txt ./boot/config.txt.bak
sudo cp -rf ./usr/99-fbturbo.conf /usr/share/X11/xorg.conf.d/99-fbturbo.conf
else
if [[ "$version" = "20.04" ]]; then
#sudo cp -rf ./boot/config-nomal-20.04.txt ./boot/config.txt.bak
sudo cp -rf ./usr/99-fbturbo-20.04.conf /usr/share/X11/xorg.conf.d/99-fbturbo.conf
else
sudo cp -rf ./usr/99-fbturbo.conf /usr/share/X11/xorg.conf.d/99-fbturbo.conf
fi
row=`grep -nr "dtoverlay=vc4-fkms-v3d" ./boot/config.txt.bak | awk -F ':' '{if(NR==1)printf $1}'`
sudo sed -i -e ''"$row"'s/dtoverlay=vc4-fkms-v3d/#dtoverlay=vc4-fkms-v3d/' ./boot/config.txt.bak
fi
#sudo cp -rf ./boot/config-nomal.txt ./boot/config.txt.bak
sudo echo "hdmi_force_hotplug=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 "dtoverlay=mhs395:rotate=90" >> ./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_cvt 480 320 60 6 0 0 0" >> ./boot/config.txt.bak
sudo echo "hdmi_drive=2" >> ./boot/config.txt.bak
sudo cp -rf ./boot/config.txt.bak /boot/firmware/config.txt
if [ "$version" = "20.10" ] || [[ "$version" > "20.10" ]]; then
sudo cp -rf ./usr/99-calibration.conf-mhs395-270 /etc/X11/xorg.conf.d/99-calibration.conf
else
sudo cp -rf ./usr/99-calibration.conf-mhs395-90 /etc/X11/xorg.conf.d/99-calibration.conf
fi
#sudo cp -rf ./usr/99-fbturbo.conf /usr/share/X11/xorg.conf.d/99-fbturbo.conf
#if [ -b /dev/mmcblk0p7 ]; then
#sudo cp ./usr/cmdline.txt-noobs /boot/firmware/cmdline.txt
#else
#sudo cp ./usr/cmdline.txt /boot/firmware/
#fi
#sudo cp ./usr/inittab /etc/
#sudo cp ./boot/config-mhs395.txt /boot/firmware/config.txt
sudo touch ./.have_installed
echo "gpio:resistance:mhs395:90:480:320" > ./.have_installed
sudo apt-get update
#FBCP install
if false; then
wget --spider -q -o /dev/null --tries=1 -T 10 https://github.com
if [ $? -eq 0 ]; then
sudo cp -rf ./usr/99-fbturbo-fbcp.conf /usr/share/X11/xorg.conf.d/99-fbturbo.conf
sudo cp -rf ./etc/rc.local /etc/
#sudo apt-get update
sudo apt-get install gcc g++ git cmake make libraspberrypi-dev -y 2> error_output.txt
result=`cat ./error_output.txt`
echo -e "\033[31m$result\033[0m"
grep -q "^E:" ./error_output.txt && exit
sleep 2
sudo rm -rf rpi-fbcp
sudo git clone https://github.com/tasanakorn/rpi-fbcp
sudo mkdir ./rpi-fbcp/build
cd ./rpi-fbcp/build/
sudo cmake ..
sudo make
sudo install fbcp /usr/local/bin/fbcp
cd - > /dev/null
fi
fi
#evdev install
#nodeplatform=`uname -n`
#kernel=`uname -r`
#version=`lsb_release -r | awk -F ' ' '{printf $NF}'`
#if test "$nodeplatform" = "raspberrypi";then
#echo "this is raspberrypi kernel"
#version=${version%% *}
#version=${version#*#}
#echo $version
if [ "$version" = "18.04" ] || [[ "$version" > "18.04" ]]; then
#echo "reboot"
#else
echo "need to update touch configuration"
wget --spider -q -o /dev/null --tries=1 -T 10 https://www.x.org
if [ $? -eq 0 ]; then
sudo apt-get install xserver-xorg-input-evdev 2> error_output.txt
else
if [ $hardware_arch -eq 32 ]; then
sudo dpkg -i -B ./xserver-xorg-input-evdev_2.10.5-1_armhf.deb 2> error_output.txt
elif [ $hardware_arch -eq 64 ]; then
sudo dpkg -i -B ./xserver-xorg-input-evdev_1%3a2.10.6-1_arm64.deb 2> error_output.txt
fi
fi
#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 version is lower than ubuntu 18.04, 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