Skip to content

Instantly share code, notes, and snippets.

@Zacharyprime
Last active November 21, 2022 21:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Zacharyprime/c9d7918eccbbffd7f710ea69f464dd4d to your computer and use it in GitHub Desktop.
Save Zacharyprime/c9d7918eccbbffd7f710ea69f464dd4d to your computer and use it in GitHub Desktop.
Detailed instructions for building a Wombat OS from scratch; The goal is to be able to take any linux image and just run this as a shell script and automatically build up to the current state of the botball controller.
# Make a Wombat from Scratch
#-------- DESKTOP SETUP (ignore if desktop is already setup) --------
#Install a desktop environment (doesn't have to be lxde)
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install xinit lxde
#Edit this file to automatically start in desktop environment
vim ~/.profile
#Paste the following somewhere in the file (preferably the bottom)
#Note for later, turn this into echo statement(s)
if ["$(tty)"="/dev/tty1"]; then
startx
fi
#Find console autologin and then setup keyboard internationalization from raspi-config
sudo raspi-config
#-------------------------- SOFTWARE INSTALL --------------------------
# Force the shell script to stop if an error occurs
set -e
##INSTALL LIBWALLABY
sudo apt-get update -y
sudo apt-get upgrade -y
#Get dependencies
sudo apt-get install vim git build-essential cmake python-dev swig doxygen graphviz libzbar-dev -y
sudo apt-get install qtcreator qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools qttools5-dev qttools5-dev-tools -y
sudo apt-get install qtdeclarative5-dev -y
#Setup Wombat Screen
git clone https://github.com/kipr/kipr-update
cp kipr-update/files/Screen_settings/Default/config.txt /boot/config.txt
#Recommended by EugeneDMyers for a wifi speedup
sudo apt-get install rng-tools
#Open CV
# https://packages.debian.org/bullseye/libopencv-dev
# https://packages.debian.org/bullseye/libopencv-core-dev
sudo apt-get install libopencv-dev libopencv-core-dev -y
sudo apt-get install openssl libssl-dev -y
#Install the source (with the precomp.hpp fix)
git clone https://github.com/kipr/libwallaby --branch precompFix
cd libwallaby
mkdir build
cd build
cmake ..
make -j4
sudo make install
cd ../.. #return to start for next instructions
##Install botui dependencies (libkar, pcompiler)
#libkar
git clone https://github.com/kipr/libkar
cd libkar
mkdir build
cd build
cmake ..
make -j4
sudo make install
cd ../.. #return to start for next instructions
#pcompiler
git clone https://github.com/kipr/pcompiler
cd pcompiler
mkdir build
cd build
cmake ..
make -j4
sudo make install
#move generated shared library to /usr/lib
cd ..
cp lib/libpcompiler.so /usr/lib
cd .. #return to start for next instructions
##BOTUI
git clone https://github.com/kipr/botui --branch qt5-fixed
cd botui
mkdir build
cd build
cmake .. -Dqt5=ON
make -j4
sudo make install
cd ../.. #return to start for next instructions
#HARROGATE DEPENDENCIES
sudo apt-get install libbson-dev zlib1g-dev libboost-dev libpng-dev
#Bsonbind
git clone https://github.com/kipr/bsonbind
cd bsonbind
mkdir build
cd build
cmake ..
make -j4
sudo make install
cd ../.. #return to start for next instructions
#Daylite
git clone https://github.com/kipr/daylite
cd daylite
mkdir build
cd build
cmake ..
make -j4
sudo make install
cd ../.. #return to start for next instructions
#libaurora
git clone https://github.com/kipr/libaurora
cd libaurora
mkdir build
cd build
cmake ..
make -j4
sudo make install
cd ../.. #return to start for next instructions
#Install node/npm/etc
sudo curl https://deb.nodesource.com/setup_18.x | sudo bash
sudo apt-get install nodejs -y
#You may need to do a reboot at this point? (confirmation needed)
##Harrogate (WARNING: Do not use sudo/root on npm/gulp)
git clone https://github.com/kipr/harrogate --branch version27
cd harrogate
npm install browserfy
npm install
sudo npm install -g gulp@4 gulp-cli
gulp
#You can ctrl+c to exit after the server starts, this was just to make sure everything compiled and works.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment