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)
- 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.