Raspberry Pi Image: Difference between revisions

From Cumulus Wiki
Jump to navigationJump to search
4,037 bytes added ,  10:17, 12 July 2022
Add root account information
(Add root account information)
 
(20 intermediate revisions by 6 users not shown)
Line 3: Line 3:


This is designed to be what is called a "headless" installation, that is to be run on a Raspberry Pi without a monitor or keyboard attached to it. As such the image does not contain a Graphical User Interface (GUI), it is a command line only installation. It is possible to add the GUI later if you want it.
This is designed to be what is called a "headless" installation, that is to be run on a Raspberry Pi without a monitor or keyboard attached to it. As such the image does not contain a Graphical User Interface (GUI), it is a command line only installation. It is possible to add the GUI later if you want it.
===Alternatives to using image===
Should you decide not to use the image, please see instructions in the support forum about [https://cumulus.hosiene.co.uk/viewtopic.php?f=44&t=18916 installing MX], about installing specifically on [https://cumulus.hosiene.co.uk/viewtopic.php?t=17895 Raspberry PI computer], and about installing on [https://cumulus.hosiene.co.uk/viewtopic.php?t=18766 any Linux computer].


=== Pre-Installation Steps ===
=== Pre-Installation Steps ===
You will need:
You will need:
* A suitable SD card for your Raspberry Pi
* A suitable (micro) SD (high capacity) card for your Raspberry Pi
:A minimum size of 16GB is recommended. Be sure to buy a good quality card.
:A minimum size of 16GB is recommended. Be sure to buy a good quality card.
:You can use an SSD instead if preferred [with the minor complication that in a later step you will need non-WiFi access to the Raspberry Pi (keyboard and monitor, or SSH over ethernet) as you cannot enter the WiFi details from a Windows PC to the linux SSD due to the different file system used]
:You can use an SSD instead if preferred [with the minor complication that in a later step you will need non-WiFi access to the Raspberry Pi (keyboard and monitor, or SSH over ethernet) as you cannot enter the WiFi details from a Windows PC to the linux SSD (Windows cannot understand the different file system used on the SSD for Linux, it is different to the file system Microsoft uses on a SSD)].
* An image installer to copy the image file to the SD card
* An image installer to copy the image file to the SD card
:The [https://www.raspberrypi.org/documentation/installation/installing-images/ Raspberry Pi site] has a list of suitable software for your operating system. Scroll down to "Writing the image".<br />
:The [https://www.raspberrypi.org/documentation/installation/installing-images/ Raspberry Pi site] has a list of suitable software for your operating system. Scroll down to "Writing the image".<br />
: This guide uses Raspberry Pi Imager
: This guide uses Raspberry Pi Imager
* The image file to install
* The image file to install
:Download the latest image file from here: [//{{SERVERNAME}}/Downloads/rpi-CMX-3.9.4.zip rPi Cumulus MX 3.9.4].
:Download the latest image file from the [[Software#Current_Release|Software Download page]], these are not produced for every MX release.
* An SSH terminal program to configure your Raspberry Pi
* An SSH terminal program to configure your Raspberry Pi
: For Windows we recommend using [https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html PuTTY]
: For Windows we recommend using [https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html PuTTY]
Line 20: Line 23:
:* Extracting the diagnostic files from Cumulus MX if this go wrong
:* Extracting the diagnostic files from Cumulus MX if this go wrong
:* Setting up a web site<br />
:* Setting up a web site<br />
:A popular program for Windows is [https://winscp.net/eng/download.php WinSCP]
:A popular program for Windows is [https://winscp.net/eng/download.php WinSCP] which shares some configuration with PuTTY (but some people prefer FileZilla program and its interface).


=== Installing the Image ===
=== Installing the Image ===
Line 44: Line 47:
:* Save the file, and then rename it to '''wpa_supplicant.conf''' - i.e. remove the .txt filename extension<br /><br />
:* Save the file, and then rename it to '''wpa_supplicant.conf''' - i.e. remove the .txt filename extension<br /><br />
* Eject the SD card from your computer. Insert it into your Raspberry Pi and power up.
* Eject the SD card from your computer. Insert it into your Raspberry Pi and power up.
Please note, the edit above changes the country code for the wireless (WiFi) connection, the image is built on the basis that your Raspberry Pi will operate in the GB timezone, and MX will run using the GB locale. You can only modify those after installation is completed on your RPi computer.


=== First Boot ===
=== First Boot ===
Line 51: Line 56:
* Start your browser and see if you can connect to this URL: '''<nowiki>http://cumulusmx:8998</nowiki>'''
* Start your browser and see if you can connect to this URL: '''<nowiki>http://cumulusmx:8998</nowiki>'''
:* If you can great - you should now see the Cumulus MX console
:* If you can great - you should now see the Cumulus MX console
:* If not, then you will have to find out the Raspberry Pi's IP address from your router. Then try connecting to this URL: '''http://<ip_address>:8998''' (example: '''<nowiki>http://192.168.1.123:8998</nowiki>''' where the numbers before :8998 are those for YOUR Raspberry Pi from YOUR router). It just depends on your router whether it allows use of the name (cumulusmx) or requires the IP address.
:* If not, then you will have to find out the Raspberry Pi's IP address from your router. Then try connecting to this URL: '''http://<ip_address>:8998''' (example: '''<nowiki>http://192.168.1.123:8998</nowiki>''' where the numbers before :8998 are those for YOUR Raspberry Pi from YOUR router). It just depends on your router whether it allows use of the URL name (cumulusmx) or requires the IP address.


=== Verify your SSH Connection ===
=== Verify your SSH Connection ===
Line 59: Line 64:
:*; [[File:PuTTY-01.png|none]]
:*; [[File:PuTTY-01.png|none]]
* You will have the accept the SSH key the first time you connect
* You will have the accept the SSH key the first time you connect
* Enter the username "pi" and password "raspberry" - these are the default Raspberry Pi username credentials
* Enter the username "cmx" and password "cumulusmx"
* When you login it will display a warning about you using the default password and ask you to change it
: ''For prior releases up to 3.15 the username was "pi" and password (note UK spelling) "raspberry"''
* '''You should now change the default password'''
:* Use the '''passwd''' command to do this now...
:* Use the '''passwd''' command to do this now...
  <nowiki>pi@cumulusmx:~ $ passwd
  <nowiki>cmx@cumulusmx:~ $ passwd
Changing password for pi.
Changing password for cmx.
Current password:  
Current password:  
New password:  
New password:  
Retype new password:  
Retype new password:  
passwd: password updated successfully</nowiki>
passwd: password updated successfully</nowiki>
* '''Now you can check/configure your RPi for your locale and timezone settings.'''<br />
: You '''must''' do this before you configure Cumulus MX if you are going to change it. Changing the locale after Cumulus MX has connected to your station means you may be in for a lot of editing of data files!
** ''The build has set a default which is for '''en_UK UTF-8''' locale and '''GMT''' timezone''.
** Use '''sudo raspi-config''' 5. Localization Options, L1 Locale (select en_US ISO-8851-1 for USA if needed) and L2 Timezone (select the appropriate timezone), then '''sudo reboot''' if needed to engage the new settings.
** NOTE: if you are using ''bullseye'' (or up), verify all locale settings are the same (run: locale). If not then edit /etc/default/locale and add (or change) LC_ALL=<locale wanted>. save, exit and reboot again.
* Check the status of the Cumulus MX service with the command '''sudo systemctl status cumulusmx'''<br />
* Check the status of the Cumulus MX service with the command '''sudo systemctl status cumulusmx'''<br />
: You will get some information back, the important bit to note is the line starting '''Active:''', it should say '''active (running)'''
: You will get some information back, the important bit to note is the line starting '''Active:''', it should say '''active (running)'''
Line 75: Line 86:
Now it is time to configure Cumulus MX for your station.
Now it is time to configure Cumulus MX for your station.
* Start your browser and connect to the same URL as before - '''<nowiki>http://cumulusmx:8998</nowiki>''' or '''http://<ip_address>:8998'''
* Start your browser and connect to the same URL as before - '''<nowiki>http://cumulusmx:8998</nowiki>''' or '''http://<ip_address>:8998'''
* From the menu select '''Settings | Station Settings''', then follow '''[https://cumuluswiki.org/a/Cumulus.ini#Cumulus_MX this guide for configuring your station].'''
* From the menu select '''Settings | Station Settings''', then follow '''[https://cumuluswiki.org/a/Cumulus.ini#First run of MX this guide for configuring your station].'''
* Once your have completed all the settings for for station, and successfully saved them, Cumulus MX will need to be restarted.
* Once your have completed all the settings for for station, and successfully saved them, Cumulus MX will need to be restarted.
* Back in your SSH session, send the command '''sudo systemctl stop cumulusmx''', this stops the Cumulus MX service.
* Back in your SSH session, send the command '''sudo systemctl stop cumulusmx''', this stops the Cumulus MX service.
Line 82: Line 93:
:* If it does, congratulations, you have successfully started recording your weather data
:* If it does, congratulations, you have successfully started recording your weather data
:* If it doesn't, then check back over this process carefully for any mistakes or omissions you may have made.
:* If it doesn't, then check back over this process carefully for any mistakes or omissions you may have made.
:* If you cannot resolve the problem, then ask for [https://cumulus.hosiene.co.uk/ help on the forum]
:* If you cannot resolve the problem, then ask for [https://cumulus.hosiene.co.uk/viewforum.php?f=40 help on the forum]


== Additional Steps ==
== Additional Steps ==
''To be expanded''
''To be expanded''
* Configuring WiFi from SSH
* Configuring WiFi from SSH
** ''To be expanded''
* Stopping Cumulus MX starting up when the Pi boots
* Stopping Cumulus MX starting up when the Pi boots
** The build sets up MX to run as a service, and to start when the computer builds, so it will be running when you switched your Raspberry Pi on
** To stop this auto-starting behavior permanently, just type <code>sudo systemctl disable cumulusmx</code> once.
* Give your Pi a fixed IP address
* Give your Pi a fixed IP address
:* Add a DHCP reservation
:* Add a DHCP reservation
Line 106: Line 121:
''The line "dns-domain example.com" is optional''
''The line "dns-domain example.com" is optional''


:You could have also to edit an other file, for dns configuration.
:You could have also to edit another file, for dns configuration.
:see file «'''/etc/resolv.conf'''» to insert these lines:
:see file «'''/etc/resolv.conf'''» to insert these lines:
  nameserver 192.168.11.1
  nameserver 192.168.11.1
Line 113: Line 128:


== Information ==
== Information ==
If you previously used Microsoft Windows with each part of a path separated by "\", please remember that all other operating systems, including that for Raspberry Pi, use "/" to both indicate the root (at start) and to separate parts of a path, as per the install location shown next.
=== Install location ===
=== Install location ===
In this image Cumulus MX is installed into '''/opt/CumulusMX'''
In this image Cumulus MX is installed into '''/opt/CumulusMX'''
If you have run MX before, you will copy your existing [[Cumulus.ini]], and optional [[Strings.ini]], into that folder. But be aware that MX has been set to run on boot, so MX will have started, and you must stop it with <code>sudo systemctl stop cumulusmx</code>, before you can add these files.
=== Symbolic Links ===
The image contains a number of pre-created symbolic links for Cumulus MX files such as realtime.txt and the standard website tmp files. These links divert these files to the random access memory chip (within the standard Linux folder "/run", the RAM storage area is configured as subfolder "/cumulusmx") to reduce wear on your SD card.
The full list of symbolic links could be added here by another contributor, presumably these cover every .json file that is produced for the default web page with fully defaulted settings as to which files are produces. For the moment, two symbolic link examples are included below:
# the processed ''realtime.txt'' -> /run/cumulusmx/realtime.txt
# the processed '''wxnow.txt''' -> /run/cumulusmx/wxnow.txt
=== Root Account ===
The image does not alter the default root account from the Raspberry Pi OS base image. So the root account does not have a password set, and cannot be used to logon to the system. If you wish to relax this default security then there are plenty of web sites with instructions on how to do this.


=== Image Customisations ===
=== Image Customisations ===
* Based on the 'Lite' version of the Raspberry Pi OS (ie the graphical desktop GUI is not included; it can be added later if you want it)
 
* Based on the 'Lite' version of the Raspberry Pi OS (i.e. the graphical desktop GUI is not included)
* Full install of Mono
* Full install of Mono
* Update of all packages
* Update of all packages
Line 125: Line 158:
* Disable IPv6
* Disable IPv6
* Set hostname to "cumulusmx"
* Set hostname to "cumulusmx"
NOTE: If you later want to add the graphical desktop GUI, please check online for the latest instructions, but when last researched, these 4 steps were needed for Buster:
# sudo apt update
# sudo apt install xserver-xorg
# sudo apt install raspberrypi-ui-mods
# sudo reboot
===Further Information===
There are two other pages in this Wiki that might be useful to read [[Raspberry Pi computer page]] and [[MX on Linux]].


=== systemctl commands ===
=== systemctl commands ===
Line 139: Line 182:
  sudo systemctl enable cumulusmx
  sudo systemctl enable cumulusmx
: To stop Cumulus starting at boot time:
: To stop Cumulus starting at boot time:
  sudp systemctl disable cumulusmx
  sudo systemctl disable cumulusmx


=== Starting Cumulus MX from the command line ===
=== Starting Cumulus MX from the command line ===
Line 147: Line 190:
  sudo systemctl stop cumulusmx
  sudo systemctl stop cumulusmx


Then path to the Cumulus folder and start it
Then issue a change path command to move to the Cumulus folder and start MX there<br>
cd /opt/cumulusmx
(Noting it is case sensitive).
sudo mono CumulusMx.exe
: cd /opt/CumulusMX
 
: sudo mono CumulusMX.exe
=== Symbolic Links ===
The image contains a number of precreated symbolic links for Cumulus MX files such as realtime.txt and the standard website tmp files. These links divert these files to a memory disk to reduce wear on your SD card.


 
= Build Creation Notes =
== Build Creation Notes ==
Here are the technical details:
* Installed Raspberry Pi Buster Lite (August 2020)
* Installed Raspberry Pi Buster Lite (August 2020)
* Enabled SSH
* Enabled SSH
Line 164: Line 205:
* Edited cumulusmx.service and copied to /etc/systemd/system
* Edited cumulusmx.service and copied to /etc/systemd/system
* Disabled mono-xsp4 service - update-rc.d mono-xsp4 disable
* Disabled mono-xsp4 service - update-rc.d mono-xsp4 disable
* Copied CMX to /opt/CumulusMX folder
* Copied full CMX download to /opt/CumulusMX folder
* Created symbolic links for temp files to /run/cumulusmx
* Created symbolic links for temp files to /run/cumulusmx


The following commands are useful in creating the image file (created on Debian).
The following commands are useful in creating the image file (created on Debian).

Navigation menu