Skip to content

Repository containing code snippets, wikis and half baked knowledge on the Raspberry Pi 4

Notifications You must be signed in to change notification settings

theboxahaan/r4spberry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

r4spberry

Getting Started

This wiki basically captures my notes while fiddling around with the Raspberry Pi 4B. I will probably rewrite this many times over the course of getting something useful out of it, so bear with (ಠ_ಠ)

Rube Goldberg's Self Operating Napkin(1931)[1]

The board in question is a Raspberry Pi 4 Model B 2GB RAM[2]. This time the board is equipped with a BCM2711 Quad core Cortex-A72[6] (ARM v8) 64-bit SoCAnd they have very graciously made some documentation available.[3]. The BCM2711 contains as mentioned, quad core Cortex-A72 Arm V8 Based Soc as the processing unit with 64 bit cores. For the GPU, we have a new 32 bit VideCore[7] VI 3Dunit clocked at 500MHz, with no documentation available. 👏 Note that at the time of writing, Raspberry Pi OS does not officially have a 64 bit distribution.

Installing The Raspbian Image [4]

I chose to go with the Raspberry Pi OS(32 bit) Lite based on Debian Buster at the time, because of its small size. Installing it onto a FAT32 formatted SD Card was fairly straightforward.

dd bs=4M if=2020-02-13-raspios-buster.img of=/dev/<sdX> conv=fsync status=progress

This creates two partitions, namely, boot and rootfs. The latter contains distribution specific files and the root file system. boot is mounted as \boot once Linux has booted and is what I am mostly interested in. The installation by default writes a multitude of files in the boot partition to support various Raspberry Pi models, the specifics of which are are summarised in the official docs. According to it, RPi4 basically cares about start4*.elf, kernel7l.img and the relevant(BCM2711) device tree blobs. Experimenting with removing various files confirmed the minimal requirement for a working boot to be-

boot
├── bcm2711-rpi-4-b.dtb
├── bootcode.bin
├── cmdline.txt
├── config.txt
├── COPYING.linux
├── fixup4*.dat
├── issue.txt
├── kernel7l.img
├── LICENCE.broadcom
├── overlays
├── start4*.elf

Configuring Headless Raspberry Pi[5]

SSH access to the raspberry pi can can be configured by creating an empty ssh file and a wpa_supplicant.conf file containing the wifi credentials in the boot partition.

touch ssh

wpa_supplicant.conf example

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=<Insert 2 letter ISO 3166-1 country code here>

network={
 ssid="<Name of your wireless LAN>"
 psk="<Password for your wireless LAN>"
}

Once Linux is booted, the Pi should automatically connect to the SSID specified.

Set up a mobile hotspot, so that you can monitor when the pi connects to the network. This also helps in easily retirieving the IP address assigned to the Pi. The default connection identifier is raspberrypi

Connecting via SSH

There is no point setting a VNC as this Linux distrib does not have a desktop, so SSH is the way to go. Raspberry Pi 4 supports mDNS which makes things easier as we are not bothered by the exact IP. To check the availability for connecting, make sure your client is on the same network as the Pi and ping it-

ping raspberrypi.local

If responses are successful, we can initiate an SSH connection by ssh [email protected] with the default password being raspberry. This should get an SSH session started.

References

  1. https://en.wikipedia.org/wiki/File:Rube_Goldberg%27s_%22Self-Operating_Napkin%22_(cropped).gif
  2. https://www.raspberrypi.org/products/raspberry-pi-4-model-b/
  3. https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711/README.md
  4. https://www.raspberrypi.org/documentation/installation/installing-images/linux.md
  5. https://www.raspberrypi.org/documentation/configuration/wireless/headless.md
  6. https://en.wikipedia.org/wiki/ARM_Cortex-A72
  7. https://en.wikipedia.org/wiki/VideoCore

About

Repository containing code snippets, wikis and half baked knowledge on the Raspberry Pi 4

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published