2016-10-18 12:19:32 +00:00
|
|
|
#!/bin/bash
|
2016-04-19 12:35:32 +00:00
|
|
|
|
2016-12-08 12:10:14 +00:00
|
|
|
# Updated by davecrump on 20161208
|
|
|
|
|
|
|
|
set -e # Don't report errors....
|
|
|
|
|
|
|
|
# Update the package manager, then install the packages we need
|
2016-10-18 12:19:32 +00:00
|
|
|
sudo dpkg --configure -a
|
|
|
|
sudo apt-get clean
|
|
|
|
sudo apt-get update
|
|
|
|
sudo apt-get -y install apt-transport-https git rpi-update
|
|
|
|
sudo apt-get -y install cmake libusb-1.0-0-dev g++ libx11-dev buffer libjpeg-dev indent libfreetype6-dev ttf-dejavu-core bc usbmount fftw3-dev wiringpi libvncserver-dev
|
|
|
|
|
2016-12-08 12:10:14 +00:00
|
|
|
# rpi-update to get latest firmware
|
2016-10-18 12:19:32 +00:00
|
|
|
sudo rpi-update
|
|
|
|
|
2016-12-08 12:10:14 +00:00
|
|
|
# Get the source software and copy to the Pi
|
2016-10-18 12:19:32 +00:00
|
|
|
cd /home/pi
|
2016-12-17 09:31:28 +00:00
|
|
|
wget https://github.com/F5OEO/rpidatv/archive/master.zip
|
2016-10-18 14:34:19 +00:00
|
|
|
unzip -o master.zip
|
2016-10-18 12:19:32 +00:00
|
|
|
mv rpidatv-master rpidatv
|
|
|
|
rm master.zip
|
|
|
|
|
2016-12-08 12:10:14 +00:00
|
|
|
# Compile rpidatv core
|
2016-10-18 12:19:32 +00:00
|
|
|
cd rpidatv/src
|
|
|
|
make
|
|
|
|
sudo make install
|
2016-12-08 12:10:14 +00:00
|
|
|
|
|
|
|
# Compile rpidatv gui
|
2016-10-18 12:19:32 +00:00
|
|
|
cd gui
|
|
|
|
make
|
|
|
|
sudo make install
|
2016-08-25 14:42:54 +00:00
|
|
|
cd ../
|
2016-10-18 12:19:32 +00:00
|
|
|
|
2016-12-08 12:10:14 +00:00
|
|
|
# Get libmpegts and compile
|
|
|
|
cd avc2ts
|
2016-10-18 12:19:32 +00:00
|
|
|
wget https://github.com/kierank/libmpegts/archive/master.zip
|
|
|
|
unzip master.zip
|
|
|
|
mv libmpegts-master libmpegts
|
|
|
|
rm master.zip
|
|
|
|
cd libmpegts
|
|
|
|
./configure
|
|
|
|
make
|
2016-12-08 12:10:14 +00:00
|
|
|
|
|
|
|
# Compile avc2ts
|
2016-10-18 12:19:32 +00:00
|
|
|
cd ../
|
|
|
|
make
|
|
|
|
sudo make install
|
|
|
|
|
2016-12-08 12:10:14 +00:00
|
|
|
# Compile adf4351
|
2016-11-18 18:03:50 +00:00
|
|
|
cd /home/pi/rpidatv/src/adf4351
|
|
|
|
make
|
|
|
|
cp adf4351 ../../bin/
|
2016-10-18 12:19:32 +00:00
|
|
|
|
2016-12-08 12:10:14 +00:00
|
|
|
# Get rtl_sdr
|
2016-10-18 12:19:32 +00:00
|
|
|
cd /home/pi
|
|
|
|
wget https://github.com/keenerd/rtl-sdr/archive/master.zip
|
|
|
|
unzip master.zip
|
|
|
|
mv rtl-sdr-master rtl-sdr
|
|
|
|
rm master.zip
|
2016-03-06 16:03:48 +00:00
|
|
|
|
2016-12-08 12:10:14 +00:00
|
|
|
# Compile and install rtl-sdr
|
2016-03-06 16:03:48 +00:00
|
|
|
cd rtl-sdr/ && mkdir build && cd build
|
|
|
|
cmake ../ -DINSTALL_UDEV_RULES=ON
|
|
|
|
make && sudo make install && sudo ldconfig
|
|
|
|
sudo bash -c 'echo -e "\n# for RTL-SDR:\nblacklist dvb_usb_rtl28xxu\n" >> /etc/modprobe.d/blacklist.conf'
|
2016-03-06 16:42:49 +00:00
|
|
|
cd ../../
|
2016-03-06 16:03:48 +00:00
|
|
|
|
2016-12-08 12:10:14 +00:00
|
|
|
# Get leandvb
|
2016-10-18 12:19:32 +00:00
|
|
|
cd /home/pi/rpidatv/src
|
|
|
|
wget https://github.com/pabr/leansdr/archive/master.zip
|
|
|
|
unzip master.zip
|
|
|
|
mv leansdr-master leansdr
|
|
|
|
rm master.zip
|
|
|
|
|
2016-12-08 12:10:14 +00:00
|
|
|
# Compile leandvb
|
2016-10-18 12:19:32 +00:00
|
|
|
cd leansdr/src/apps
|
|
|
|
make
|
|
|
|
cp leandvb ../../../../bin/
|
|
|
|
|
2016-12-08 12:10:14 +00:00
|
|
|
# Get tstools
|
2016-10-18 12:19:32 +00:00
|
|
|
cd /home/pi/rpidatv/src
|
|
|
|
wget https://github.com/F5OEO/tstools/archive/master.zip
|
|
|
|
unzip master.zip
|
|
|
|
mv tstools-master tstools
|
|
|
|
rm master.zip
|
|
|
|
|
2016-12-08 12:10:14 +00:00
|
|
|
# Compile tstools
|
2016-10-18 12:19:32 +00:00
|
|
|
cd tstools
|
|
|
|
make
|
|
|
|
cp bin/ts2es ../../bin/
|
|
|
|
|
|
|
|
#install H264 Decoder : hello_video
|
|
|
|
#compile ilcomponet first
|
|
|
|
cd /opt/vc/src/hello_pi/
|
2016-11-15 12:48:44 +00:00
|
|
|
sudo ./rebuild.sh
|
2016-10-18 12:19:32 +00:00
|
|
|
|
|
|
|
cd /home/pi/rpidatv/src/hello_video
|
|
|
|
make
|
|
|
|
cp hello_video.bin ../../bin/
|
2016-03-06 16:10:12 +00:00
|
|
|
|
2016-04-01 17:29:33 +00:00
|
|
|
# TouchScreen GUI
|
|
|
|
# FBCP : Duplicate Framebuffer 0 -> 1
|
2016-10-18 12:19:32 +00:00
|
|
|
cd /home/pi/
|
|
|
|
wget https://github.com/tasanakorn/rpi-fbcp/archive/master.zip
|
|
|
|
unzip master.zip
|
|
|
|
mv rpi-fbcp-master rpi-fbcp
|
|
|
|
rm master.zip
|
2016-12-08 12:10:14 +00:00
|
|
|
|
|
|
|
# Compile fbcp
|
2016-04-01 17:29:33 +00:00
|
|
|
cd rpi-fbcp/
|
|
|
|
mkdir build
|
|
|
|
cd build/
|
|
|
|
cmake ..
|
|
|
|
make
|
|
|
|
sudo install fbcp /usr/local/bin/fbcp
|
|
|
|
cd ../../
|
|
|
|
|
2016-12-08 12:10:14 +00:00
|
|
|
# Install Waveshare DTOVERLAY
|
2016-10-18 12:19:32 +00:00
|
|
|
cd /home/pi/rpidatv/scripts/
|
|
|
|
sudo cp ./waveshare35a.dtbo /boot/overlays/
|
|
|
|
|
2016-12-08 12:10:14 +00:00
|
|
|
# Fallback IP to 192.168.1.60
|
2016-10-18 12:19:32 +00:00
|
|
|
sudo bash -c 'echo -e "\nprofile static_eth0\nstatic ip_address=192.168.1.60/24\nstatic routers=192.168.1.1\nstatic domain_name_servers=192.168.1.1\ninterface eth0\nfallback static_eth0" >> /etc/dhcpcd.conf'
|
|
|
|
|
2016-12-08 12:10:14 +00:00
|
|
|
# Enable camera
|
2016-10-18 12:19:32 +00:00
|
|
|
sudo bash -c 'echo -e "\ngpu_mem=128\nstart_x=1\n" >> /boot/config.txt'
|
|
|
|
|
2016-12-08 12:10:14 +00:00
|
|
|
# Disable sync option for usbmount
|
2016-10-18 12:19:32 +00:00
|
|
|
sudo sed -i 's/sync,//g' /etc/usbmount/usbmount.conf
|
|
|
|
|
2016-12-08 12:10:14 +00:00
|
|
|
# Install executable for hardware shutdown button
|
|
|
|
wget 'https://github.com/philcrump/pi-sdn/releases/download/v1.0/pi-sdn' -O /home/pi/pi-sdn
|
|
|
|
chmod +x /home/pi/pi-sdn
|
2016-10-19 08:10:10 +00:00
|
|
|
|
2016-12-08 12:10:14 +00:00
|
|
|
# Record Version Number
|
2016-10-18 12:19:32 +00:00
|
|
|
cd /home/pi/rpidatv/scripts/
|
2016-12-08 12:10:14 +00:00
|
|
|
cp latest_version.txt installed_version.txt
|
2016-12-10 19:17:11 +00:00
|
|
|
cd /home/pi
|
2016-12-08 12:10:14 +00:00
|
|
|
|
|
|
|
# Switch to French if required
|
|
|
|
if [ "$1" == "fr" ];
|
|
|
|
then
|
|
|
|
echo "Installing French Language and Keyboard"
|
|
|
|
cd /home/pi/rpidatv/scripts/
|
|
|
|
sudo cp configs/keyfr /etc/default/keyboard
|
|
|
|
cp configs/rpidatvconfig.fr rpidatvconfig.txt
|
2016-12-10 19:24:40 +00:00
|
|
|
cd /home/pi
|
2016-12-08 12:10:14 +00:00
|
|
|
echo "Completed French Install"
|
2016-10-19 08:10:10 +00:00
|
|
|
else
|
2016-12-08 12:10:14 +00:00
|
|
|
echo "Completed English Install"
|
|
|
|
fi
|
|
|
|
|
2016-12-17 09:47:14 +00:00
|
|
|
if [ "$1" == "frstart" ];
|
|
|
|
then
|
|
|
|
echo "Installing French Language and Keyboard"
|
|
|
|
cd /home/pi/rpidatv/scripts/
|
|
|
|
sudo cp configs/keyfr /etc/default/keyboard
|
|
|
|
cp configs/rpidatvconfig.fr rpidatvconfig.txt
|
|
|
|
cd /home/pi
|
|
|
|
echo "Autostart install"
|
2016-12-17 12:53:13 +00:00
|
|
|
#get from http://raspberrypi.stackexchange.com/questions/38025/disable-console-autologin-on-raspbian-jessie
|
|
|
|
sudo ln -fs /etc/systemd/system/autologin@.service \
|
|
|
|
/etc/systemd/system/getty.target.wants/getty@tty1.service
|
|
|
|
|
|
|
|
cp "/home/pi/rpidatv/scripts/configs/console_tx.bashrc" /home/pi/.bashrc
|
2016-12-17 09:47:14 +00:00
|
|
|
echo "Completed French Install Auto"
|
2016-10-18 12:19:32 +00:00
|
|
|
fi
|
2016-12-17 09:47:14 +00:00
|
|
|
|
|
|
|
|
|
|
|
# Offer reboot
|
|
|
|
#printf "A reboot will be required before using the software."
|
|
|
|
#printf "Do you want to reboot now? (y/n)\n"
|
|
|
|
#read -n 1
|
|
|
|
#printf "\n"
|
|
|
|
#if [[ "$REPLY" = "y" || "$REPLY" = "Y" ]]; then
|
|
|
|
# echo "rebooting"
|
|
|
|
# sudo reboot now
|
|
|
|
#fi
|
|
|
|
#exit
|
2016-10-18 12:19:32 +00:00
|
|
|
|
2016-03-06 16:03:48 +00:00
|
|
|
|