Skip to content
- Purchase Exploring Raspberry Pi textbook (may be available as All-In e-Text).
- Purchase Linux Kernel Programming textbook.
- Set up the Raspberry Pi, following the instructions on Getting Started.
- Install an Operating System: Follow the steps in Install using Imager (not Installing over the Network) to use a PC to format the uSD card with the latest 64-bit version of the OS (currently bookworm). In OS customisation, be sure to preconfigure at least these items:
- a username and password,
- Wi-Fi credentials (for your home network, if any),
- your preferred device hostname,
- remote connectivity to enable running the Pi “headless”, reducing hardware requirements (keyboard, mouse, monitor). Be sure to Enable SSH, and enable password authentication.
- In Configuration on First Boot, using a wired instead of wireless network connection simplifies the software updates. When prompted, select US English for language and keyboard, and Eastern time zone.
- Remote access is explained here. For example, you can access the Pi through a remote terminal window using ssh:
- To find your Pi’s network address:
- Use a PC to get information on the local devices: arp -a
- Find the row with a Physical Address (MAC address) starting with dc a6 32, which should be the Pi. FYI, these bytes (the “OUI”) are assigned to Raspberry Pi Trading Ltd. You can also enter the full six-byte MAC address into an online MAC Address look-up tool and get details on the device.
- Look for the Pi’s row’s Internet Address. It should start with 192.168.1.
- Then use that address when starting ssh: ssh 192.168.1.last_byte_of_internet_address. Note that username and password are case-sensitive.
- Remote access with a GUI instead of terminal interface is more involved, and there are several methods (also explained here). This interface is not necessary yet for the class, so no particular method is recommended yet.
- Use git to check out these repositories:
- Exploring Raspberry Pi https://github.com/derekmolloy/exploringRPi.git
- Class https://github.ncsu.edu/agdean/AES-25.git
- Linux Kernel Programming: https://github.com/PacktPublishing/Linux-Kernel-Programming_2E.git
- Linux Kernel Programming Part 2: https://github.com/PacktPublishing/Linux-Kernel-Programming-Part-2.git