F5OEO-rpidatv/install.sh

183 wiersze
4.3 KiB
Bash
Executable File

#!/bin/bash
# Updated by davecrump on 20161208
set -e # Don't report errors....
# Update the package manager, then install the packages we need
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
# rpi-update to get latest firmware
sudo rpi-update
# Get the source software and copy to the Pi
cd /home/pi
wget https://github.com/F5OEO/rpidatv/archive/master.zip
unzip -o master.zip
mv rpidatv-master rpidatv
rm master.zip
# Compile rpidatv core
cd rpidatv/src
make
sudo make install
# Compile rpidatv gui
cd gui
make
sudo make install
cd ../
# Get libmpegts and compile
cd avc2ts
wget https://github.com/kierank/libmpegts/archive/master.zip
unzip master.zip
mv libmpegts-master libmpegts
rm master.zip
cd libmpegts
./configure
make
# Compile avc2ts
cd ../
make
sudo make install
# Compile adf4351
cd /home/pi/rpidatv/src/adf4351
make
cp adf4351 ../../bin/
# Get rtl_sdr
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
# Compile and install rtl-sdr
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'
cd ../../
# Get leandvb
cd /home/pi/rpidatv/src
wget https://github.com/pabr/leansdr/archive/master.zip
unzip master.zip
mv leansdr-master leansdr
rm master.zip
# Compile leandvb
cd leansdr/src/apps
make
cp leandvb ../../../../bin/
# Get tstools
cd /home/pi/rpidatv/src
wget https://github.com/F5OEO/tstools/archive/master.zip
unzip master.zip
mv tstools-master tstools
rm master.zip
# Compile tstools
cd tstools
make
cp bin/ts2es ../../bin/
#install H264 Decoder : hello_video
#compile ilcomponet first
cd /opt/vc/src/hello_pi/
sudo ./rebuild.sh
cd /home/pi/rpidatv/src/hello_video
make
cp hello_video.bin ../../bin/
# TouchScreen GUI
# FBCP : Duplicate Framebuffer 0 -> 1
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
# Compile fbcp
cd rpi-fbcp/
mkdir build
cd build/
cmake ..
make
sudo install fbcp /usr/local/bin/fbcp
cd ../../
# Install Waveshare DTOVERLAY
cd /home/pi/rpidatv/scripts/
sudo cp ./waveshare35a.dtbo /boot/overlays/
# Fallback IP to 192.168.1.60
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'
# Enable camera
sudo bash -c 'echo -e "\ngpu_mem=128\nstart_x=1\n" >> /boot/config.txt'
# Disable sync option for usbmount
sudo sed -i 's/sync,//g' /etc/usbmount/usbmount.conf
# 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
# Record Version Number
cd /home/pi/rpidatv/scripts/
cp latest_version.txt installed_version.txt
cd /home/pi
# 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
cd /home/pi
echo "Completed French Install"
else
echo "Completed English Install"
fi
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"
#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
echo "Completed French Install Auto"
fi
# 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