# Table of Contents 1. [About the Board](#orgd72d6fe) 2. [Creating a Bootable Yocto Linux Image](#org320b6b1) 1. [Create a workspace (OPTIONAL)](#org3ac88ae) 2. [Update the repo workspace](#orgf613432) 3. [Set up the Bitbake environment](#org5551fb8) 4. [Building Board Disk Image](#orge48b62d) 1. [Building a Linux Image with a root file system (RootFS)](#org260c449) 2. [Building a RAM-based Root Filestystem](#org920972e) 3. [Building a Linux Image for an external QSPI flash memory](#org31f047f) 4. [Flashing an SD Card](#org0ce15e7) 3. [References](#org47ba498) # About the Board ![img](./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) mkdir yocto-dev && cd yocto-dev repo init -u https://github.com/polarfire-soc/polarfire-soc-yocto-manifests.git -b main -m default.xml ## Update the repo workspace repo sync repo rebase ## Set up the Bitbake environment . ./meta-polarfire-soc-yocto-bsp/polarfire-soc_yocto_setup.sh ## Building Board Disk Image ### Building a Linux Image with a root file system (RootFS) MACHINE=icicle-kit-es bitbake mpfs-dev-cli ### Building a RAM-based Root Filestystem MACHINE=icicle-kit-es bitbake -R conf/initramfs.conf mpfs-initramfs-image ### Building a Linux Image for an external QSPI flash memory ### Flashing an SD Card 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 # References 1. [PolarFire SoC Yocto](https://github.com/polarfire-soc/meta-polarfire-soc-yocto-bsp) **\*\***