Difference between revisions of "Raspberry Pi"
(satnogs-client is after SATNOGS_STATION_LON, not SATNOGS_STATION_LONG) |
(→Download: Update to SatNOGS image release 2023111400) |
||
(51 intermediate revisions by 15 users not shown) | |||
Line 1: | Line 1: | ||
− | + | [[File:B3342fcc865731d69e0c9d7a8b1abb887185bc13 1 531x500.jpg|alt=Libre Space Foundation Raspberry Pi Case|thumb|Libre Space Foundation Raspberry Pi Case, [https://www.thingiverse.com/thing:3233687 on thingiverse]]] | |
− | = | + | ==Introduction== |
− | The Raspberry Pi 3 is the reference platform for SatNOGS. You can try using various distributions for this (eg. Arch, Fedora), but the one we suggest is our custom image based on latest Raspbian. | + | The Raspberry Pi (version 3 and 4) is the reference platform for SatNOGS (see our [[SatNOGS Client Ansible|Ansible guide]] to install SatNOGS on other Linux machines). You can try using various distributions for this (eg. Debian/Armbian, Arch, Fedora), but the one we suggest is our custom image based on latest Raspbian. |
− | + | {{Message|This page assumes you have an account and a ground station registered on either network.satnogs.org or network-dev.satnogs.org. Make note of your station ID and API Key.}} | |
− | |||
− | |||
− | + | ==Download== | |
+ | '''<big>Raspbian SatNOGS Image:</big> <big>[https://gitlab.com/librespacefoundation/satnogs/satnogs-pi-gen/-/jobs/artifacts/2023111400/download?job=release artifacts.zip]</big> ''' (Release: 2023111400) | ||
− | + | Download the latest Raspbian SatNOGS Image from above (or via the "Download" icon on the right side of the [https://gitlab.com/librespacefoundation/satnogs/satnogs-pi-gen/tags latest tag page on GitLab]). This image has the SatNOGS setup script installed, the SSH server enabled and all required packages preinstalled. You will get an <code>artifacts.zip</code> file with the following content: | |
− | + | *A Zipped image file | |
− | * A Zipped image file | + | *An Image info file |
− | * An Image info file | + | *A SHA256 checksum file |
− | * A SHA256 | ||
− | == Data integrity verification == | + | ===Data integrity verification=== |
− | You should verify the data integrity of the artifacts by | + | You should verify the data integrity of the artifacts by comparing the SHA256 checksums. On Linux, run <code>sha256sum -c sha256sums</code> in the directory where the artifacts are downloaded and unzipped. |
Example: | Example: | ||
<pre> | <pre> | ||
$ sha256sum -c sha256sums | $ sha256sum -c sha256sums | ||
− | + | 2023-11-14-Raspbian-SatNOGS-master-lite.info: OK | |
− | + | image_2023-11-14-Raspbian-SatNOGS-master-lite.zip: OK | |
− | </pre> | + | </pre><br /> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | </ | ||
+ | ==Flashing== | ||
+ | [https://www.raspberrypi.org/documentation/installation/installing-images/README.md Follow the usual Raspbian flashing instructions], and boot your Raspberry Pi. | ||
− | = | + | You will need to set the login password for your Pi, as well as Wifi settings and Locale settings by clicking the "Advanced" options before writing the image. |
+ | [[File:Image.png|alt=Gear Icon for Rpi imager|left|thumb|73x73px]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <br /> | |
+ | ==Getting console access== | ||
+ | You can log in the Raspberry Pi by connecting it to a keyboard and monitor or through network via an SSH connection. | ||
− | === | + | ===Keyboard and monitor=== |
+ | Once your Raspberry Pi is booted, log in with userID and password that you set during the imaging process. | ||
− | + | ===Ethernet=== | |
+ | If you are using wired Ethernet you should get connectivity right away. You just need to find the IP address of Raspberry Pi (e.g. in your router management interface). Log in with SSH using username you set during the image writing process. "'''pi'''" password "'''raspberry'''", in this example: | ||
+ | $ ssh pi@192.168.1.2 | ||
+ | If your network supports [[wikipedia:Zero-configuration_networking|<code>zeroconf</code>]], then you can use the hostname of your Pi: | ||
+ | $ ssh pi@raspberrypi.local | ||
− | + | ===Pre-boot wireless configuration=== | |
+ | If neither keyboard/monitor, nor a wired Ethernet are available, you can set up a WiFi connection before boot by mounting the boot partition of the flashed SD card and editing files directly. Note your OS may mount boot partition in a different location. [https://raspberrypi.stackexchange.com/questions/10251/prepare-sd-card-for-wifi-on-headless-pi#comment98121_57023 Windows users have line ending problems]. Suggested actions: | ||
− | + | $ $EDITOR /media/Raspbian_SatNOGS-boot/wpa_supplicant.conf | |
− | + | contents: (note key_mgmt options include NONE, WPA-PSK, WPA-EAP) | |
− | + | ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev | |
+ | update_config=1 | ||
+ | country=US | ||
+ | |||
+ | network={ | ||
+ | ssid="NETWORK_NAME" | ||
+ | psk="password" | ||
+ | key_mgmt=WPA-PSK | ||
+ | } | ||
− | + | ===Pre-boot user creation=== | |
+ | The latest version of Raspberry Pi OS, of which the SatNOGS image is based on, '''does not''' have the "'''pi'''" user already upon first boot. | ||
− | + | If you wish to login using ssh upon the first boot with the prior default username / password of "pi" / "raspberry", then: | |
− | * | + | *Create the file <code>userconf.txt</code> in the root of the <code>boot</code> partition of the uSD card. |
+ | *Its contents should be the single line: | ||
+ | **<code>pi:$6$/XOZsG1X0IAbhXB0$wYZHRkvib0SUKQA3KVAxofPR.JsFAbI2NCue2znGvhRsQobVdllFXyQZ7fMSvAoyEj8MfHtkMeSZT7IRIixg01</code> | ||
+ | **(the format is username:encrypted-password) | ||
− | + | For more information about this file, see: [https://www.raspberrypi.com/documentation/computers/configuration.html#configuring-a-user Raspberry Pi Documentation - Configuration - Setting up a Headless Raspberry Pi - Configuring a User] | |
+ | <br /> | ||
+ | ==Configuration== | ||
− | === | + | ===Raspberry Pi Setup=== |
− | + | If you used the advance settings during imaging, this step can be skipped. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | Once your Raspberry Pi is booted, log in with the username you set up during the imaging process and run: | ||
<pre> | <pre> | ||
− | + | $ sudo raspi-config | |
</pre> | </pre> | ||
− | You | + | You will want to be sure to do the following: |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | *Set a strong, unique password | |
+ | *Change localization settings: | ||
+ | **by default the rpi locale is configured for EN-GB, change as appropriate (ie: to EN_US.UTF-8) | ||
+ | **set timezone (we recommend UTC so your logs match the times in Network; UTC is under the 'none of the above' submenu) | ||
+ | **set keyboard layout, again this is defaulting to a UK layout | ||
+ | **set wifi country | ||
+ | **expand filesystem (under the Advanced menu) | ||
+ | *Configure network or WiFi (see [https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md this doc for network configuration instructions]) | ||
+ | *Finish and reboot | ||
+ | ===SatNOGS Setup=== | ||
+ | SSH to the Raspberry Pi with userID you set during imaging password. | ||
− | + | Follow [[SatNOGS Client Setup]] instructions to configure the system. | |
− | + | [[Category:Build]] | |
+ | [[Category:Software]] |
Latest revision as of 21:41, 20 February 2024
![Libre Space Foundation Raspberry Pi Case](/images/thumb/b/ba/B3342fcc865731d69e0c9d7a8b1abb887185bc13_1_531x500.jpg/300px-B3342fcc865731d69e0c9d7a8b1abb887185bc13_1_531x500.jpg)
Contents
Introduction
The Raspberry Pi (version 3 and 4) is the reference platform for SatNOGS (see our Ansible guide to install SatNOGS on other Linux machines). You can try using various distributions for this (eg. Debian/Armbian, Arch, Fedora), but the one we suggest is our custom image based on latest Raspbian.
Download
Raspbian SatNOGS Image: artifacts.zip (Release: 2023111400)
Download the latest Raspbian SatNOGS Image from above (or via the "Download" icon on the right side of the latest tag page on GitLab). This image has the SatNOGS setup script installed, the SSH server enabled and all required packages preinstalled. You will get an artifacts.zip
file with the following content:
- A Zipped image file
- An Image info file
- A SHA256 checksum file
Data integrity verification
You should verify the data integrity of the artifacts by comparing the SHA256 checksums. On Linux, run sha256sum -c sha256sums
in the directory where the artifacts are downloaded and unzipped.
Example:
$ sha256sum -c sha256sums 2023-11-14-Raspbian-SatNOGS-master-lite.info: OK image_2023-11-14-Raspbian-SatNOGS-master-lite.zip: OK
Flashing
Follow the usual Raspbian flashing instructions, and boot your Raspberry Pi.
You will need to set the login password for your Pi, as well as Wifi settings and Locale settings by clicking the "Advanced" options before writing the image.
Getting console access
You can log in the Raspberry Pi by connecting it to a keyboard and monitor or through network via an SSH connection.
Keyboard and monitor
Once your Raspberry Pi is booted, log in with userID and password that you set during the imaging process.
Ethernet
If you are using wired Ethernet you should get connectivity right away. You just need to find the IP address of Raspberry Pi (e.g. in your router management interface). Log in with SSH using username you set during the image writing process. "pi" password "raspberry", in this example:
$ ssh pi@192.168.1.2
If your network supports zeroconf
, then you can use the hostname of your Pi:
$ ssh pi@raspberrypi.local
Pre-boot wireless configuration
If neither keyboard/monitor, nor a wired Ethernet are available, you can set up a WiFi connection before boot by mounting the boot partition of the flashed SD card and editing files directly. Note your OS may mount boot partition in a different location. Windows users have line ending problems. Suggested actions:
$ $EDITOR /media/Raspbian_SatNOGS-boot/wpa_supplicant.conf
contents: (note key_mgmt options include NONE, WPA-PSK, WPA-EAP)
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=US network={ ssid="NETWORK_NAME" psk="password" key_mgmt=WPA-PSK }
Pre-boot user creation
The latest version of Raspberry Pi OS, of which the SatNOGS image is based on, does not have the "pi" user already upon first boot.
If you wish to login using ssh upon the first boot with the prior default username / password of "pi" / "raspberry", then:
- Create the file
userconf.txt
in the root of theboot
partition of the uSD card. - Its contents should be the single line:
pi:$6$/XOZsG1X0IAbhXB0$wYZHRkvib0SUKQA3KVAxofPR.JsFAbI2NCue2znGvhRsQobVdllFXyQZ7fMSvAoyEj8MfHtkMeSZT7IRIixg01
- (the format is username:encrypted-password)
For more information about this file, see: Raspberry Pi Documentation - Configuration - Setting up a Headless Raspberry Pi - Configuring a User
Configuration
Raspberry Pi Setup
If you used the advance settings during imaging, this step can be skipped.
Once your Raspberry Pi is booted, log in with the username you set up during the imaging process and run:
$ sudo raspi-config
You will want to be sure to do the following:
- Set a strong, unique password
- Change localization settings:
- by default the rpi locale is configured for EN-GB, change as appropriate (ie: to EN_US.UTF-8)
- set timezone (we recommend UTC so your logs match the times in Network; UTC is under the 'none of the above' submenu)
- set keyboard layout, again this is defaulting to a UK layout
- set wifi country
- expand filesystem (under the Advanced menu)
- Configure network or WiFi (see this doc for network configuration instructions)
- Finish and reboot
SatNOGS Setup
SSH to the Raspberry Pi with userID you set during imaging password.
Follow SatNOGS Client Setup instructions to configure the system.