zybo用Linuxイメージとルートファイルシステムの作成手順

はじめに

zybo用Linuxイメージとルートファイルシステムの作成手順について説明する。

目次


SDブート

今回使用するブートデバイスはSDカードである。SDカードを使用してLinuxを起動するためには、FATファイルシステムルートファイルシステムの2つのファイルシステムが必要である。そのため、SDカードのパーティションを次の2つに分け、各ファイルシステムに必要なファイル・データを格納する。

zybo用Linuxイメージ

Linuxイメージの作成手順は、FSBLをブートローダとする方法、U-Boot-spl(U-Boot Second Program Loader)をブートローダとする方法で手順が異なる。それぞれの作成手順の概要とブートシーケンスは、参考サイト:No.1-2に詳しく、かつ分かりやすく書かれている。

U-Boot-splは、boot.binファイルに.bitファイルを含めず、またfsbl.elfファイルを作成しなくてもよいので、簡単にイメージが差し替えできるという利点を持つ。そのため、今回は②U-Boot-splのブートローダを用いる方法にする。

FAT32ファイルシステムに格納するファイル

U-Boot-spl(U-Boot Second Program Loader)をブートローダとする方法では、FAT32領域に次の6つのファイルを格納する。

  • TopZybo.bit
    FPGAデータが格納されているファイル。
  • バイスツリー.dtb
    ・ハードウェア情報やPS・PL設定の情報が格納されているファイル
  • boot.bin
     ・ブートローダを起動するための設定情報が格納されているファイル。
  • u-boot.img
     ・U-Bootファイル
  • uENv.txt
     ・u-boot用の環境変数を定義しているファイル
  • zImage
     ・Linux カーネルファイル

zybo用Linuxイメージの作成手順

zybo用Linuxイメージの作成手順を次に示す。

  1. TopZybo.bitの作成
     ・vivadoにて作成する。ここでは割愛する。
  2. デバイスツリー.dtbの作成
  3. boot.binファイル、u-boot.imgファイルの生成
  4. uENv.txtファイルの生成
  5. zImageの生成


作成したzybo用Linuxイメージ

ここに今回作成したzybo用Linuxイメージをアップロードした。

ルートファイルシステム

ext4領域にはUbuntuのルートファイルシステムを格納する。Ubuntuを選択した理由は特にないので、そのうち変更するかも。

ルートファイルシステムの作成手順

Ubuntuのルートファイルシステム作成手順を次に示す。

  1. Ubuntuのルートファイルシステム作成

参考サイト

  1. FPGA+SoC+Linuxのブートシーケンス(ZYNQ+Vivado編):図2 ZYNQでLinuxを動作させるためのデザインフロー
    https://qiita.com/ikwzm/items/1614c35233e1836c7a26
  2. FPGA+SoC+Linuxのブートシーケンス(ZYNQ+U-Boot-SPL編):図2 ZYNQでLinuxを動作させるためのデザインフロー
    https://qiita.com/ikwzm/items/efacec8d8e0744e17d45

  3. ファイルシステムの話
    https://qiita.com/awakia/items/51d24b50585571b6d70b