Przygotowanie i instalacja LEDE na Raspberry P
Ostatnia zmiana: 2021-03-20 15:40
Krótka specyfikacja:
- procesor Broadcom BCM2837, 4 rdzenie po 1.2GHz
- RAM: 1 GiB
- WLAN 2.4: 802.11 b/g/n 150 Mbps
- Ethernet: 1x 10/100Mbps (połączony przez usb)
- 4x USB 2.0
- 1x uart
- bluetooth BLE 4.1
Generalnie RaspberryPi do wersji 3 zbytnio nie nadaje się na router czy NAS - port ethernet jest tylko 10/100Mbps, na dodatek połączony przez magistralę USB, całość ma też tendencję do nagrzewania się. Jednakże jest dość popularną platformą wykorzystywaną do wielu różnych zastosowań, więc można też sprawdzić działanie OpenWrt/LEDE.
Instalacja
Seria Raspberry Pi nie posiada wbudowanej pamięci flash, cały system lub sam bootloader musi być na zewnętrznej karcie pamięci formatu uSD. Istnieje kilka różnych metod instalacji, można wykorzystać instalatory systemów typu
NOOBS czy
PINN, ale w tym opisie zostanie wykorzystana instalacja obrazu bezpośrednio na karcie pamięci.
Pobranie obrazu
Do instalacji niezbędny jest komputer na którym wykonamy przygotowanie obrazu. Wszystkie poniższe czynności opisane są dla linuksa, choć nie ma problemu aby wykonać je także na komputerze z systemem Windows czy MacOS. Oczywiście niezbędna będzie karta pamięci uSD o pojemności co najmniej 512MB. Kartę należy podłączyć do komputera wykorzystując np. czytnik kart uSD/SD, następnie należy odmontować ją jeżeli została zamontowana automatycznie.
Należy pobrać z
oficjalnej witryny LEDE obraz z
brcm2708-bcm2710-rpi-3-ext4-sdcard.img.gz w nazwie i zapisać go dla ułatwienia pod nazwą
rpi3.img.gz. Pobrany obraz jest bieżącą wersja wydania LEDE w wersji 17.01.
Wgrywanie obrazu na kartę
Przechodzimy do katalogu gdzie jest obraz, rozpakowujemy archiwum poleceniem:
następnie nagrywamy obraz na karcie pamięci:
$ sudo dd if=rpi3.img of=/dev/sdc
gdzie
/dev/sdc to widoczna w systemie karta uSD. Należy uważać przy określaniu nośnika, żeby nie nadpisać sobie istniejącego dysku systemowego. Obraz nagrywamy na całą kartę uSD (
/dev/sdc) a nie na partycję (np.
/dev/sdc1).
Rozszerzenie partycji systemowej (opcjonalnie)
Domyślnie obrazy kompilowane są dla partycji systemowej wielkości 256MB. Jeżeli mamy większą kartę pamięci to warto rozszerzyć obraz na cały dostępny obszar. Można to wykonać przy pomocy programu
gpartedI zmieniamy graficznie rozmiar partycji na całą dostępną przestrzeń karty. Przekładamy kartę do RaspberryPi 3 i uruchamiamy płytkę.
Jeżeli używamy systemu Windows można używać programów WinZIP, 7zip do rozpakowania,
Etcher lub
Win32DiskImager do nagrania obrazu na kartę oraz gparted do zmiany wielkości partycji.
Dostęp do systemu
Dostęp do systemu możliwy jest na klika sposobów:
Konsola szeregowa
Na złączu rozszerzeń dostępny jest port szeregowy uart który można wykorzystać do połączenia. Parametry połączenia: 115200 8n1, piny:
SSH
Po instalacji port ethernet traktowany jest jako LAN z ustawionym adresem 192.168.1.1 (domyślne ustawienia dla OpenWrt/LEDE), więc można podłączyć się tak po prostu przez ssh:
Monitor i klawiatura
Obraz zawiera zarówno wsparcie dla wyświetlania konsoli po HDMI jak i obsługę klawiatury USB (pakiet
kmod-usb-hid), więc można podłączyć zwykłą klawiaturę na usb, TV czy monitor po HDMI i używać RaspberryPi 3 "bezpośrednio".
Elementy specyficzne dla urządzenia
Aktualizacja systemu
Aktualizację można wykonać z wykorzystaniem programu
sysupgrade. Należy pobrać dowolny obraz dla RaspberryPi 3, rozpakować go (obraz ma być plikiem
*.img), następnie przesłać go do katalogu /tmp i wykonać aktualizację poleceniem:
# sysupgrade -n /tmp/rpi3.img
gdzie
/tmp/rpi3.img to nazwa pliku pod którą skopiowaliśmy obraz.
Temperatura CPU i GPU
Odczyt bieżącej temperatury w st.C:
# awk '{print $1/1000}' /sys/class/thermal/thermal_zone0/temp
39.704
Audio
Przez HDMI - działa out-of-the-box (pakiet
kmod-sound-arm-bcm2835). Można zainstalować np.
madplay i odtwarzać pliki typu mp3.
Wi-Fi
Domyślnie interfejs radiowy jest wyłączony. Konfigurację wykonujemy w sposób standardowy dla OpenWrt/LEDE. Przykładowa konfiguracją Wi-Fi jako WAN:
APClientBluetooth
Obsługa bluetooth nie jest dostępna standardowo i wymaga instalacji dodatkowych pakietów (urządzenie musi być podłączone do internetu lub wymagane pakiety wraz z zależnościami należy zainstalować ręcznie):
# opkg update
# opkg install bluez-utils bluez-daemon
Pobieramy firmware dla Bluetooth:
# opkg install libustream-mbedtls
# cd /lib/firmware/brcm
# wget https://github.com/OpenELEC/misc-firmware/raw/master/firmware/brcm/BCM43430A1.hcd
# reboot
Firmware nie jest pakietowane ze względów niejasności licencji tego pliku, należy więc je pobrać osobno.
Uruchamiamy interfejs:
# hciattach /dev/ttyAMA0 bcm43xx 115200 noflow -
bcm43xx_init
Flash firmware /lib/firmware/brcm/BCM43430A1.hcd
Set Controller UART speed to 115200 bit/s
Device setup complete
# hciconfig hci0 up
# hcitool scan
Scanning ...
30:13:00:0A:DD:55 Bluetooth 3.0 Keyboard