Tag: imx91s

  • Jak zbudować obraz Yocto dla FRDM i.MX91S

    Jak zbudować obraz Yocto dla FRDM i.MX91S

    Ten tekst jest częścią serii o FRDM imx91s.

    Postawienie własnego systemu operacyjnego na płytce ewaluacyjnej przy użyciu Yocto jest względnie proste. Zaraz zbudujesz ze mną obraz takiego systemu, czyli bootujący Linux na FRDM i.MX91S zbudowany przy użyciu Yocto.

    Instrukcje prosto od NXP

    Najlepszym sposobem na zbudowanie systemu to skorzystanie z instrukcji przygotowanej przez NXP. Znajduje się ona m.in. w repozytorium meta-imx, jest po angielsku i dotyczy naprawdę wielu płytek ewaluacyjnych. Skoro posiłkuję się NXP iMX91S to skupmy się właśnie na niej.

    Wybrana wersja SDK od NXP

    Domyślny branch repozytorium meta-imx wskazuje na walnascar-6.12.34-2.1.0 ale widzę, że jest dostępny też walnascar-6.12.49-2.2.0 i wybieram właśnie ten branch do dalszej pracy. O wersjach Yocto – LTS, non-LTS oraz tym jak podchodzą do tego vendorzy (jak np. NXP, TI, itd) będzie w osobnym poście. Z nazwy brancha można wyciągnąć takie informacje:

    • Wersja Yocto (przynajmniej teoretycznie): 5.2, codename: Walnascar
    • Wersja kernela Linuxa: 6.12.49
    • Wersja SDK od NXP: 2.2.0

    Samo mięso – komendy do kopiuj/wklej 

    mkdir -p ~/builds/frdm-build 
    
    cd ~/builds/frdm-build/
    
    repo init -u https://github.com/nxp-imx/imx-manifest.git -b imx-linux-walnascar -m imx-6.12.49-2.2.0.xml
    
    repo sync -j4
    
    MACHINE=imx91-11x11-lpddr4-frdm-imx91s DISTRO=fsl-imx-wayland source ./imx-setup-release.sh -b build # read EULA and confirm it with `y`
    
    bitbake imx-image-core

    Po krótce co tu się dzieje:

    Tworzenia katalogu nie trzeba tłumaczyć.

    Potem narzędziem repo od Google pobieram meta warstwy zdefiniowane w repo imx-manifest.

    Następnie wołam skrypt przygotowujący środowisko do budowania. Zmienna MACHINE- wybiera płytkę ewaluacyjną, a zmienna DISTRO- tryb dystrybucji.

    Na koniec komendą bitbake buduję obraz imx-image-core. Ten ostatni krok z reguły trwa długo, zwłaszcza przy pierwszym jego uruchomieniu. Zależnie od maszyny do budowania – nawet kilka godzin.

    Upieczone artefakty

    Całe Yocto ma wiele odniesień do książki kucharskiej. Dlatego po upieczeniu obrazu imx-image-core zaglądam z ~/builds/frdm-build/build do tmp/deploy/images/imx91-11x11-lpddr4-frdm-imx91s/. Znajduję w nim kilka istotnych plików:

    • imx-image-core-imx91-11x11-lpddr4-frdm-imx91s.rootfs.wic.zst – mój docelowy obraz systemu
    • imx-image-core-imx91-11x11-lpddr4-frdm-imx91s.rootfs-20260513212841.wic.bmap – plik ułatwiający szybkie flashowanie obrazu
    • imx-image-core-imx91-11x11-lpddr4-frdm-imx91s.rootfs.manifest – lista wszystkich paczek software’u, które są zainstalowane w obrazie – 1696 linii- trochę dużo. Naprawię to później
    • imx-boot – obraz bootloadera – będący częścią obrazu wic
    • Image – surowy obraz kernela linuxa

    Wystarczy mi w zupełności ten pierwszy, bo można go użyć do wgrania systemu na płytkę.