Raspberry Pi Foundation, GitHub, Magazine
Installing operating system images
Type | CPU | RAM | OS |
---|---|---|---|
Pi Model B Rev 2 | BCM2835 ARMv6 1176JZF-S 700 MHz | 512 Mo | Raspberry Pi OS Lite (32-bit) |
Pi Model 2 B | BCM2836 ARMv7 Cortex-A7 Quad Core 900MHz | 1 Go | Ubuntu Server 18.04 (32-bit), Ubuntu Server 20.04 LTS (32-bit) |
Pi Model 4 B | BCM2711 ARMv8 Quad core Cortex-A72 64-bit 1.5GHz | 4 Go LPDDR4-3200 | Ubuntu Server 18.04 (64-bit), Ubuntu Server 20.04 LTS (64-bit) |
- WIFI issues with Pi 4: tom'sHARDWARE, Raspberry Pi 4 WiFi stops working at 2560x1440 screen resolution
- Display stops working after a change in the config file: try holding the SHIFT key during startup (using this key will make the Raspberry Pi ignore the boot configuration file and load up with the default settings)
- (Optional) Download a specific version from ubuntu.com (for instance the previous before the LTS if it's too new for a specific hardware) WARNING links have to be modified manually (typo in pi version number...)
- (Optional) Look at available systems
- Raspberry Pi OS
- Ubuntu: follow the tutorial
- Install Raspberry Pi Imager from the Downloads page
- Insert the SD card and run the Raspberry Pi Imager
- (Optional) Eject and insert again the SD card
- Edit
network-config
at the root of the drive (with new eth0 and wlan0 parameters)
- Edit
Insert the SD card in the board, plug a keyboard (USB), a monitor (HDMI) then plug the power cable
Note: @since Kernel 4.9, BCM2835 will be displayed for the processor, even for BCM2836, BCM2837 and BCM2711. You should look instead at the revision code, which is unique.
cat /proc/cpuinfo
# list interfaces (make sure wlan0 is displayed)
ls /sys/class/net
# edit or create a netplan yaml file and apply the change
sudo nano /etc/netplan/50-cloud-init.yaml
sudo netplan -d apply
systemctl daemon-reload
sudo reboot
# make sure it's connected (with an IP)
ip a
ping google.com
# enable an interface
sudo ip link set wlan0 up
# see the wireless interface
iwconfig
# if it doesn't show up, run
sudo ifconfig wlan0 up
# scan available networks
sudo iwlist wlan0 scan
# look at services
sudo systemctl status systemd-networkd.service
sudo systemctl status netplan-wpa-wlan0.service
# some Wifi USB adaptors may be incompatible with networkd, in this case fallback to NetworkManager
# - just in case make sure the value is correct (2 letter iso country code)
sudo nano /etc/default/crda
# - make sure NetworkManager service is started (start it if needed)
sudo systemctl status NetworkManager.service
# - edit netplan file to use NetworkManager instead of networkd (and comment the existing config)
sudo nano /etc/netplan/50-cloud-init.yaml
sudo netplan apply
systemctl daemon-reload
# - install additional package to have additional tools to configure wifi network
sudo apt install network-manager
# - run the configuration wizard
nmtui
# - set static ip
nmcli con mod mywifiname ipv4.addresses "192.168.86.144" ipv4.gateway "192.168.86.1" ipv4.dns "8.8.8.8,4.4.4.4" ipv4.method "manual"
# - look at the configuration file
sudo more /etc/NetworkManager/system-connections/mywifiname
# - restart the service to take this new configuration into account
sudo systemctl restart NetworkManager.service
# review the operating system information
lsb_release -a
# use package manager to run updates
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo reboot
# make sure all services are up
systemctl --failed
# look at recent entries in the journal
journalctl -xe
sudo dpkg-reconfigure keyboard-configuration
sudo setupcon
more /etc/default/keyboard
sudo reboot
- Login with
pi
/raspberry
- Change keyboard layout
- Configure the easy way: set Wifi parameters, update hostname, enable SSH, change password, (optional) change keyboard configuration
raspi-config
- (Optional] Configure a static ip by editing
/etc/dhcpcd.conf
(do asudo reboot
afterwards)
interface wlan0
static ip_address=192.168.86.145/24
static routers=192.168.86.1
static domain_name_servers=192.168.86.1 8.8.8.8 4.4.4.4
- Run updates
- Login with
ubuntu
/ubuntu
(you'll be asked to provide a new password) - Change keyboard layout
- (Optional) Review boot log
dmesg
- If there is an issue starting systemd-modules, look at the journal and investigate the issue
sudo systemctl status systemd-modules-load.service
# manual step needed on Raspberry Pi 2: comment is_iser (see https://askubuntu.com/questions/877245/systemd-modules-load-failed-to-start)
sudo nano /lib/modules-load.d/open-iscsi.conf
sudo systemctl start systemd-modules-load.service
- Configure Wifi
- Run system updates
- Login with
ubuntu
/ubuntu
(you'll be asked to provide a new password) - Change keyboard layout
- Configure Wifi
- Run system updates
- Turning your training bike into a Speed remake by Kevin Gosse - Apr 15, 2020
- Scott Hanselman - Building, Running, and Testing .NET Core and ASP.NET Core 2.1 in Docker on a Raspberry Pi (ARM32)
- Installing the .NET Core 2.x SDK on a Raspberry Pi and Blinking an LED with System.Device.Gpio
.NET Core is not compatible with ARMv6 (even with ARM32 versions: see .NET Runtime issue #7764
The official procedure and workaround don't work.
# link taken by following download link from https://dotnet.microsoft.com/download/dotnet-core/3.1
wget https://download.visualstudio.microsoft.com/download/pr/56691c4c-341a-4bca-9869-409803d23cf8/d872d7a0c27a6c5e9b812e889de89956/dotnet-sdk-3.1.302-linux-arm.tar.gz
mkdir -p $HOME/dotnet
tar -xvf dotnet-sdk-3.1.302-linux-arm.tar.gz -C $HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet
dotnet --version
# add the two export lines in .bashrc so it will be permanent
nano .bashrc
cat << \EOF >> ~/.profile
# add .NET Core SDK
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet
# add .NET Core SDK tools
export PATH="$PATH:$HOME/.dotnet/tools"
EOF
logout
Home: retropie.org.uk, GitHub
Configuration:
-
Usability
-
SSH
- Enable SSH in raspi-config: interfacing options > SSH > Enable > reboot your pi
-
/boot/config.txt
file- Values
Key value Detail Comment hdmi_group
1 CEA (Consumer Electronics Association) is the display standard that is typically used on a TV hdmi_group
2 DMT (Display Monitor Timings) is the standard that is typically used by monitors hdmi_mode
16 CEA 1920×1080 16:9 60hz hdmi_mode
97 CEA 3840×2160 16:9 60hz Raspberry Pi 4 Only. To use this hdmi_enable_4kp60=1 must be set in /boot/config.txt. hdmi_mode
82 DMT 1920×1080 16:9 60hz - To review: hdmi_force_hotplug=1, hdmi_drive=2
Known issues:
Latest update lvl0: VolumeControl::init() - Failed to find mixer elements!
- How to configure sound for RetroPie EmulationStation
/opt/retropie/configs/all/emulationstation/es_settings.cfg
: AudioDevice=HDMI/Headphone- Latest Raspberry Pi OS update – May 2020
- How-to: Use USB Audio in Retropie v3.7
- Screen resolution
- Documentation > Configuration > Config-txt > Video
/boot/config.txt
: hdmi_group/hdmi_mode
- Messed up configuration situation
- SSH in (https://github.com/retropie/retropie-setup/wiki/ssh), run sudo ~/RetroPie-Setup/retropie_setup.sh and go to Emulation Station configuration via Manage Packages -> Core Packages -> emulationstation -> Configuration or Configuration / Tools -> emulationstation and choose the option to Clear/Reset Emulation Station input configuration (All packages with configuration appear in Configuration / Tools when installed)
Seems dead