#!/bin/bash # MP_Installer.sh will install the necessary packages to get MissionPlanner up and running # Ubuntu 20.04 set -e set -x # execute from home dir cd ~ && mkdir MissionPlannerProgram && cd MissionPlannerProgram # update packages update_package(){ sudo apt update sudo apt upgrade -y } # Install new packages PACKAGES="apt-transport-https \ dirmngr gnupg ca-certificates \ festival" apt_install(){ sudo apt install $PACKAGES -y sudo apt upgrade --fix-missing -y # just in case something didn't come down properly sudo apt autoremove -y } # run those functions update_package apt_install # add mono 6 repo to sources sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list MONO="mono-devel mono-complete" mono_install(){ sudo apt update sudo apt install $MONO -y sudo apt autoremove -y } # install mono mono_install # Download and unzip MissionPlanner # rm -rf Mission* mkdir MissionPlanner && cd MissionPlanner/ wget https://firmware.ardupilot.org/Tools/MissionPlanner/MissionPlanner-latest.zip -P ~/MissionPlannerProgram/MissionPlanner unzip MissionPlanner*.zip rm MissionPlanner*.zip cp mpdesktop.ico mpdesktop.icon # Let's make an easy way to start MissionPlanner cd .. && mkdir MP_Scripts && cd MP_Scripts touch MP_Start.sh echo "#!/bin/sh" >> MP_Start.sh echo "mono ~/MissionPlannerProgram/MissionPlanner/MissionPlanner.exe" >> MP_Start.sh chmod +x MP_Start.sh # might as well have a desktop icon seeing as MO kindly provides one touch MP_Start.desktop echo "[Desktop Entry]" >> MP_Start.desktop echo "Name=MissionPlanner" >> MP_Start.desktop echo "Comment=script to execute MissionPlanner from desktop" >> MP_Start.desktop echo "Icon=~/MissionPlannerProgram/MissionPlanner/mpdesktop.icon" >> MP_Start.desktop echo "Exec=tilix -e "mono ~/MissionPlannerProgram/MissionPlanner/MissionPlanner.exe"" >> MP_Start.desktop echo "Type=Application" >> MP_Start.desktop echo "Encoding=UTF-8" >> MP_Start.desktop echo "Terminal=false" >> MP_Start.desktop chmod +x MP_Start.desktop cd