#+title: PolarFire SoC FPGA #+author: Penguin #+date: 06/19/23 #+OPTIONS: ^:nil * About the Board #+attr_html: :width 50% #+attr_html: :height 50% [[./doc/img/PolarFire-Board.png]] * Creating a Bootable Yocto Linux Image We have two options: Create a new workspace, or we can use this repo as a workspace because this repo is my working workspace. ** Create a workspace (OPTIONAL) #+begin_src mkdir yocto-dev && cd yocto-dev repo init -u https://github.com/polarfire-soc/polarfire-soc-yocto-manifests.git -b main -m default.xml #+end_src ** Update the repo workspace #+begin_src bash repo sync repo rebase #+end_src ** Set up the Bitbake environment #+begin_src bash . ./meta-polarfire-soc-yocto-bsp/polarfire-soc_yocto_setup.sh #+end_src ** Building Board Disk Image *** Building a Linux Image with a root file system (RootFS) #+begin_src bash MACHINE=icicle-kit-es bitbake mpfs-dev-cli #+end_src *** Building a RAM-based Root Filestystem #+begin_src bash MACHINE=icicle-kit-es bitbake -R conf/initramfs.conf mpfs-initramfs-image #+end_src *** Building a Linux Image for an external QSPI flash memory *** Flashing an SD Card #+begin_src bash zcat build/tmp-glibc/deploy/images/icicle-kit-es/mpfs-dev-cli-icicle-kit-es.wic.gz | sudo dd of=/dev/sdX bs=4096 iflag=fullblock oflag=direct conv=fsync status=progress #+end_src * References **** [[https://github.com/polarfire-soc/meta-polarfire-soc-yocto-bsp][PolarFire SoC Yocto]] ****