What started as an effort to build a marine linux OS turned out into much more interesting. Our focus was to build a marine computer OS to be used on boats for the navigation and on touch screens in a cockpit of a boat. By nature marine navigation is very demanding. Much more demanding than a car computer. There was a need for:
good touch screen support (even with small screens) (GTK3, budgie)
ability to easily connect to a variety of sensors GPS, IMU, environment (temp, pressure, humidity, wind), autopilot, bilge water level, and much more (SignalK/Kplex NMEA are built-in)
ability to control other hardware (started with controlling steering of the boat and autopilot). We have pyPilot built-in.
weather information retrieving, processing, mapping and visualizing (it's often a matter of survival on a boat)
weather routing and climatology
a media player (who doesn't want to play some music being on a boat, so here we go with MPD player, Mopidy and more)
internet connectivity, VPN, cellular 4G/LTE, satellite, Wi-Fi
celestial navigation (brought us astronomy software, so we package Stellarium and more)
cartography and navigation (We have OpenCPN, FreeBoard-SK, AvNav chart plotters). While our focus was marine charts, our distribution can be easily adapted for a car navigation system.
software defined radio SDR (HAM radio community might take some interest), AIS, weather (NOAA, weather fax, NavTex), Inmarsat Fleet
satellite internet via Iridium
low power consumption (so we built it for the ARM based processors)
We would think our distribution can serve as a basis for others interested to build either:
Home automation Linux distribution
HAM radio SDR Linux distribution
Weather station under Linux
Astronomy related Linux distribution
Music/Media player Linux distribution
Generic Linux touch tablet on ARM raspberry OS
Car specialized Linux distribution
Wi-Fi router
The code for building this distribution is easily customizable following instructions below. You do not have to build it on your own ARM hardware. The process described below explains how you can make it to build it directly from your source code on GitHib via CircleCi and distribute it on CloudSmith or other place. It doesn't take that much effort or coding, some dedication required (surely).
Third place in RealVNC Raspberry Pi Prize 2023.
To get start it's easier to download pre-built image using the links below (or you can build your own following instructions in the next chapter). CircleCI is the tool which is used to create the OS image.
NOTE: Do not forget to set Wi-Fi country after the installation.
Binaries are downloadable from: https://cloudsmith.io/~bbn-projects/repos/bbn-repo/packages/?q=lysmarine
Package repository hosting is graciously provided by Cloudsmith. Cloudsmith is the only fully hosted, cloud-native, universal package management solution, that enables your organization to create, store and share packages in any format, to any place, with total confidence.
If Cloudsmith download link does not work for you, check Getting Started Guide. It contains an alternative download location from releases are on GitHub https://github.com/bareboat-necessities/lysmarine_gen/releases
Getting Started: https://bareboat-necessities.github.io/my-bareboat/bareboat-os.html
Bareboat Necessities Marine OS Forum: https://github.com/bareboat-necessities/lysmarine_gen/discussions
https://github.com/bareboat-necessities/lysmarine_gen/issues
Raspberry Pi 4 or higher (or CM4 module 4Gb with Wi-Fi, or raspberry pi 400)
4 GB memory or higher (2 GB works too but not for many concurrent programs)
Touchscreen with resolution 1024x600 or higher and size 10" or more (800x480 and 7" works too but few of the programs will open too big dialog boxes)
Suitable (unless you find something better) waterproof touchscreen display for your cockpit (TouchThink TPC-CD-M101, 10.1", 1280x800, IP65): https://www.touchtecs.com/
Wi-Fi and LTE/4G router (not a requirement, gl-x750 Spitz OpenWrt router): https://www.gl-inet.com/products/gl-x750/
Quark-elec Marine multiplexers seems has a good product line (or you can just use this BBN OS image but considering all waterproof connectors and hardware customization these commercial multiplexers be nicer choice): https://www.quark-elec.com/product-category/marine/multiplexers/ Another (even cheaper) option: http://www.yakbitz.com/
More about hardware: https://bareboat-necessities.github.io/my-bareboat/
Default passwords are set to 'changeme', which you are supposed to change. Default username in login screens is 'user'.
OpenCPN and plugins
AvNav
GPSD
KPlex
SignalK and plugins
Freeboard-SK
SK Instrument Panel
KIP Dashboard
PyPilot
BBN Launcher
SK Sail Gauge
XyGrib Weather GRIB Viewer App
Stellarium
CanBoat
Sail CAD
Race Instructions / Planning App
Vessel Specs App
ColReg
Sailing Trip and Provisioning Checklist
Knots
JTides
PC-NavTex
Chromium Web Browser
Email Client
FB Messenger Caprine
YouTube App
Facebook App
Internet Weather
Dockwa (Mooring and Marina Booking App)
NauticEd (Sailing Education)
Lightning Maps
Windy
Marine Traffic
Mopidy Media Player with Web UI (YouTube, Local List, Internet Radio, MPD support)
MusicBox (Music Player)
Iris (Music Player)
VLC (with IP camera support)
Audacious
MotionEye (Cameras Control)
shairport-sync (AirPlay)
raspotify (Raspotify)
Jellyfin (Jellyfin)
Cubic SDR
Flarq
Fldigi
GNU Radio Companion
CuteSdr
GPredict
Gqrx
Hamfax RadioFax
JNX NavText
JWX WeatherFax
noaa-apt satellite weather
PreviSat Satellite Tracker
Quisk SDR
multimon-ng, netcat
Chirp
GNU AIS
DireWolf
YAAC
morse2ascii
APRX
dump1090-fa
PiAware
APM Planner 2
RTL AIS
RTL-SDR
GNSS-SDR
HackRF
AirSpy
OsmoSDR
soapysdr-tools
Samba (Windows Networking)
CUPS (printing)
VNC (remote desktop)
SSH (remote shell)
NMEA 0183
SocketCAN, NMEA 2000, can-utils
OpenVPN (Virtual Private Networking)
MQTT Mosquitto for IoT (to talk to Sonoff smart switches to switch on several devices like Radar, Windlass, Bow Thruster, Lights)
Wi-Fi (Access Point and Client)
SignalK
Seatalk 1, GPIO
ModBus (to talk to Victron Venus OS, etc.)
Timeshift (backups), rsync
PPP, wvdial, picocom for satellite modem support
I2C tools
1-Wire (sensors i.e. for temperature, humidity, pressure, tank levels)
LoRaWan
WeatherFax
NOAA Weather
NavTex
Inmarsat Fleet
WinLink
SMS (Using Gammu)
Bluetooth (File Transfer)
AirPlay (via shairport-sync)
SolarThing Solar power monitoring
Text Editor
File Manager
Task Manager
Terminal Application
Image Viewer
Calculator
Calendar
Weather App
OnBoard touch screen keyboard
Right click support on touchscreens
Arduino IDE
Java (OpenJDK)
Python
NodeJS
C/C++ Compiler and Toolset
Debian, NPM, PIP, Snap package managers
rpi-clone (SSD cloning)
Pi Imager, piclone
seahorse (Password Management)
Gammu (SMS Client)
Timeshift (backups)
scrcpy (Android Mirroring)
InfluxDB
Grafana
NodeRed embedded into SignalK
Chronograf
Kapacitor
QtVlm
DeskPi Pro support
ArgonOne case support
Text-To-Speech App
Touchscreen calibration
NMEA Sleuth Chromium Plugin
PACTOR
SdrGlut
WxToImg
OS Settings
Timezone Setup
Change Password
Predict (Satellite Tracker for scripting)
Pat / WinLink
Airmail
Widevine Digital Content Protection
Homeassistant Home Automation
EspHome Home Automation
This is the fork of the original LysMarine https://github.com/lysmarine/lysmarine_gen by Frederic Guilbault. It is based on the LysMarine OS, but differs from it in a number of included applications, and the UI features. Now it is a distinct OS image.
Another useful resource is our previous project (see: https://bareboat-necessities.github.io/my-bareboat/). Although it is based on OpenPlotter it still is useful to understand hardware and software set up of your marine raspberry pi.
Create GitHub account
Fork this project on GitHub
Create CircleCi account (Use logging in with GitHub)
Register .circleci/config.yml in CircleCi
Create CloudSmith account (Use logging in with GitHub)
Import CloudSmith key into circleci project settings (via env variable)
Edit publish-cloudsmith.sh options in .circleci/config.yml to put location of your cloudsmith repository and push the changes into GitHub
After circleci build completes it will create and upload image to cloudsmith
You can burn this image using RaspberryPi imager to SD card and use that SD card to boot your raspberry Pi
You can edit files inside install-scripts directory push them into GitHub and customize your image.
Yes. It's a play of words inspired by the name of the song from "The Jungle Book" performed by Louis Prima.
BBN Marine OS and Lysmarine scripts distributed under GPLv3
Copyright © 2020 Frederic Guilbault
Copyright © 2021-2024 mgrouch
Included content copyrighted by other entities distributed under their respective licenses.