Przygotowanie i instalacja LEDE na Raspberry P
Ostatnia zmiana: 2017-12-09 11:25

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 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:


    $ gzip -d rpi3.img.gz

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 gparted


    $ sudo gparted /dev/sdc

I 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:


    6 GND
    8 TX
    10 RX

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:


    $ ssh root@192.168.1.1

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: APClient

Bluetooth

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