Wgranie systemu i pierwsze uruchomienie headless
Cel
Nagrasz Raspberry Pi OS z gotową konfiguracją (użytkownik, Wi-Fi, SSH z kluczem), znajdziesz Pi w sieci, zalogujesz się przez ssh i zaktualizujesz system. Opcjonalnie uruchomisz konsolę szeregową.
Potrzebne części
- Raspberry Pi, zasilacz, karta microSD, czytnik kart
- sieć Wi-Fi (albo kabel Ethernet)
- opcjonalnie: konwerter USB–UART 3,3 V i 3 przewody żeńsko-żeńskie
Krok 1. Nagranie karty w Imagerze (2.x)
Według oficjalnej instrukcji:
-
Device: wybierz swój model (Raspberry Pi 4 lub 5).
-
OS: Raspberry Pi OS (64-bit) (z pulpitem) albo Raspberry Pi OS Lite (64-bit). Do pracy headless polecam Lite. Wersje „Legacy” to stary Bookworm, nie wybieraj ich bez powodu.
-
Storage: wybierz kartę. ⚠️ Zostaw zaznaczone „Exclude system drives”, żeby nie nadpisać dysku komputera. Jeśli nie masz pewności, która to karta, odłącz inne nośniki USB.
-
Customisation (zalecane). Kolejne podzakładki:
- Hostname: np.
wirelab-pi(tylko litery, cyfry i myślniki). Pi rozgłasza tę nazwę przez mDNS, więc będzie dostępne jakowirelab-pi.local. - Localisation: stolica (np. Warszawa). Ustawia strefę czasową, klawiaturę i kraj Wi-Fi.
- User: nazwa użytkownika (małe litery, cyfry,
_,-) i hasło. To hasło będzie też potrzebne dosudo. - Wi-Fi: SSID i hasło. Przy pracy headless to kluczowe, bo Pi musi się połączyć od razu po starcie.
- Remote Access: włącz Enable SSH i wybierz Use public key authentication. Wklej zawartość
~/.ssh/id_ed25519.pubalbo wskaż plik przyciskiem Browse. Imager sam podstawia tylko klucz RSA z~/.ssh/id_rsa.pub, więc klucz Ed25519 wklej albo wskaż ręcznie. - Raspberry Pi Connect: opcjonalne, w kursie niepotrzebne.
- Hostname: np.
-
Zapisz i poczekaj na zapis oraz weryfikację.
Krok 2. Pierwszy start i szukanie Pi w sieci
Włóż kartę do Pi i podłącz zasilanie. Pierwsze uruchomienie trwa dłużej niż kolejne, bo system rozszerza partycję i stosuje ustawienia. Daj mu 2–3 minuty.
Sposób 1: mDNS (.local)
# (na Fedorze)
$ ping wirelab-pi.local
$ avahi-resolve -n wirelab-pi.local # z pakietu avahi-tools
$ avahi-browse -art | grep -i ssh # lista usług w sieci
Raspberry Pi OS ma mDNS (usługę Avahi) włączony domyślnie. Domyślna nazwa, jeśli jej nie zmieniłeś, to raspberrypi.
Sposób 2: nmap (skan podsieci)
# (na Fedorze) – najpierw sprawdź swój adres, np. 192.168.1.23
$ hostname -I
$ sudo nmap -sn 192.168.1.0/24
Z sudo nmap zwykle pokazuje też producenta karty sieciowej, co ułatwia wypatrzenie Raspberry Pi.
Sposób 3: lista urządzeń w panelu routera.
Krok 3. Pierwsze logowanie przez SSH
# (na Fedorze)
$ ssh adrian@wirelab-pi.local
Przy pierwszym połączeniu SSH zapyta o odcisk klucza hosta. Wpisz yes. Jeśli wybrałeś logowanie kluczem, hasło nie będzie potrzebne (chyba że zabezpieczyłeś klucz hasłem).
Wygodny skrót w ~/.ssh/config na Fedorze:
Host pi
HostName wirelab-pi.local
User adrian
IdentityFile ~/.ssh/id_ed25519
Od teraz wystarczy ssh pi, a pliki skopiujesz poleceniem scp plik.py pi:~/.
Krok 4. Aktualizacja systemu
Dokumentacja Raspberry Pi zaleca full-upgrade zamiast zwykłego upgrade, bo Raspberry Pi OS częściej niż Debian zmienia zależności pakietów:
# (na Pi)
$ sudo apt update
$ sudo apt full-upgrade
$ sudo reboot
Sprawdź przy okazji wersję systemu i model:
# (na Pi)
$ cat /etc/os-release | grep PRETTY
$ cat /proc/device-tree/model
$ groups # powinno zawierać m.in. gpio (i zwykle i2c)
Krok 5 (opcjonalnie). Konsola szeregowa UART
Konsola szeregowa ratuje sytuację, gdy Pi nie łączy się z siecią. Widzisz wtedy komunikaty startowe i możesz się zalogować kablem.
Włączenie na Pi. Wybierz sudo raspi-config → 3 Interface Options → I6 Serial Port. Na pytanie o login shell over serial odpowiedz Yes, potem zrestartuj Pi. W wersji z pulpitem włącz w Preferences → Control Centre → Interfaces oba przełączniki: Serial Port i Serial Console.
🟦 Pi 4 / Pi 5: gdzie jest konsola
- Pi 4: konsola jest na GPIO14 (TX, pin 8) i GPIO15 (RX, pin 10).
- Pi 5: domyślnie główny UART (UART10,
/dev/ttyAMA10) wychodzi na osobne 3-pinowe złącze oznaczone „UART”, a nie na złącze 40-pin. Do tego złącza potrzebny jest odpowiedni kabel (np. Raspberry Pi Debug Probe). Według dokumentacji, gdy do złącza debug nic nie jest podłączone, a wconfig.txtjestenable_uart=1, Pi 5 przekierowuje logi jądra na GPIO14/15.

Fot. 3.1. Złącze UART (J6) na Raspberry Pi 5, między gniazdami micro HDMI; tu podłącza się kabel Debug Probe. Zdjęcie: SimonWaldherr, CC BY-SA 4.0, Wikimedia Commons; kadrowanie i oznaczenia: wirelab, CC BY-SA 4.0.
Podłączenie (Pi 4 lub Pi 5 w trybie GPIO14/15):
⚠️ Połączenia rób przy wyłączonym Pi i z konwerterem odłączonym od USB komputera. Jeśli konwerter ma zworkę napięcia, ustaw ją na 3,3 V. Sygnał 5 V na pinie RX (GPIO15) może uszkodzić Raspberry Pi.
| Pin fizyczny | BCM | Element |
|---|---|---|
| 8 | GPIO14 (TXD) | → RX konwertera |
| 10 | GPIO15 (RXD) | → TX konwertera |
| 6 | – (GND) | → GND konwertera |

Rys. 3.1. Konsola szeregowa: TX i RX na krzyż, wspólna masa, bez zasilania z konwertera.
⚠️ TX łączymy z RX na krzyż. Nie podłączaj pinu VCC/5V konwertera do Pi, bo Pi ma własne zasilanie. Przewód GND jest obowiązkowy: napięcia sygnałów TX i RX są mierzone względem masy, więc oba urządzenia muszą mieć wspólną masę.
Połączenie z Fedory (115200 bps, 8N1, czyli standard konsoli Raspberry Pi):
# (na Fedorze)
$ minicom -D /dev/ttyUSB0 -b 115200
# wyjście z minicom: Ctrl+A, potem X
# albo:
$ screen /dev/ttyUSB0 115200
# wyjście ze screen: Ctrl+A, potem K
W minicom wyłącz sprzętową kontrolę przepływu (Ctrl+A, O → Serial port setup → Hardware Flow Control: No), bo inaczej klawiatura może „nie pisać”.
Typowe błędy
ssh: Could not resolve hostname: mDNS nie działa na Twojej sieci lub Fedorze. Użyj adresu IP znmapalbo z routera.Connection refused: SSH nie został włączony w Imagerze. Nagraj kartę jeszcze raz z włączonym SSH.WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!po ponownym nagraniu karty: to normalne, bo nowy system ma nowe klucze hosta. Usuń stary wpis:ssh-keygen -R wirelab-pi.local.- Pi nie łączy się z Wi-Fi: zła nazwa sieci (wielkość liter ma znaczenie), sieć tylko 5 GHz przy Zero 2 W (obsługuje wyłącznie 2,4 GHz) albo zły kraj w ustawieniach lokalizacji.
- Śmieci na konsoli szeregowej: zła prędkość (musi być 115200) albo brak wspólnej masy (GND).
Ćwiczenie
Zaloguj się przez ssh, wykonaj aktualizację i zapisz wynik cat /etc/os-release | grep PRETTY oraz uname -r. Potem wyloguj się (exit) i zaloguj ponownie, używając aliasu ssh pi.
Podsumowanie
Pi działa bez monitora: karta nagrana w Imagerze od razu łączy się z Wi-Fi i wpuszcza cię przez SSH kluczem. Pi znajdziesz po nazwie .local, skanem nmap albo w panelu routera. System aktualizujesz poleceniem apt full-upgrade. Konsola szeregowa to awaryjne wejście, gdy sieć zawiedzie.