poniedziałek, 29 lipca 2019

Raspberry Pi - Prosta generacja systemu Yocto

W tym poście chciałbym opisać sposób wygenerowania projektu systemu Yocto dla Raspberry Pi.
Opisywany sposób jest dosyć prosty i sprowadza się do kompilacji odpowiednich obrazów.

Znalezione obrazy dla zapytania raspberry pi 3

Na samym początku należy pobrać Buildroot'a ze strony producenta. Ja wykorzystałem wersja 2019_05 ponieważ jest to najnowsza wersja oprogramowania jak była dostępna.

Do katalogu domowego pobieramy spakowane oprogramowanie:

  1. sudo wget https://buildroot.org/downloads/buildroot-2019.05.tar.bz2

W następnym kroku należy wypakować obraz i przejść do stworzonego folderu:

  1. tar xvjf buildroot-2019.05.tar.bz2
  2. cd buildroot-2019.05

Kolejnym elementem jest wywołanie komendy:

  1. make list-defconfigs

Pozwoli ona na wyświetlenie dostępnych obrazów do przygotowania min. dla Raspberry Pi:
  • raspberrypi0_defconfig
  • raspberrypi0w_defconfig
  • raspberrypi2_defconfig
  • raspberrypi3_64_defconfig
  • raspberrypi3_defconfig
  • raspberrypi3_qt5we_defconfig
  • raspberrypi_defconfig

Aby rozpocząć przygotowywanie obrazu należy wywołać komendę:

  1. make NAZWA
  2. np. make raspberrypi3_defconfig

Ta operacja zajmie dosłownie kilka sekund. Następnie należy wywołać komendę:

  1. make all

Tym razem operacja zajmie kiklanaście minut. Po jej poprawnym zakończeniu zostanie przygotowany obraz w katalogu wewnętrznym output/images/sdcard.img. Obraz przygotowany dla wersji raspberrypi3_defconfig zajmuje około 160Mb.

Aby wgrać do na kartę sd można użyć programu do kopiowania danych dd:

  1. dd if=sdcard.img of=/dev/mmcblk0

W celu sprawdzenia nazwy podłączonej karty SD lub konwertera USB należy wprowadzić 
następującą komendę:

  1. lsblk

Możliwa jest też własna konfiguracja systemu za pomocą komendy:

  1. make menuconfig

Aby przeprowadzić komunikacją / obsługę systemu można podłączyć konwerter UART/USB bądź standardowo klawiaturę z monitorem.

Po podłączeniu do urządzenia ustawienie WiFi można wykonać poprzez edycję pliku /etc/wpa_supplicant.conf. W pliku powinny znajdować się następujące elementy:

  1. ctrl_interface=/var/run/wpa_supplicant
  2. ctrl_interface_group=0
  3.  
  4. update_config=1network={
  5.     ssid=”SSID”
  6.     psk=”PASSWORD”
  7.     proto=RSN
  8.     key_mgmt=WPA-PSK
  9.     pairwise=CCMP
  10.     auth_alg=OPEN
  11. }

Po wprowadzeniu zmian do pliku z własnym ssid oraz hasłem należy wykonać reboot Raspberry.