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イメージの作成手順を次に示す。
- TopZybo.bitの作成
・vivadoにて作成する。ここでは割愛する。 - デバイスツリー.dtbの作成
- boot.binファイル、u-boot.imgファイルの生成
- uENv.txtファイルの生成
- zImageの生成
作成したzybo用Linuxイメージ
ここに今回作成したzybo用Linuxイメージをアップロードした。
ルートファイルシステム
ext4領域にはUbuntuのルートファイルシステムを格納する。Ubuntuを選択した理由は特にないので、そのうち変更するかも。
ルートファイルシステムの作成手順
参考サイト
- FPGA+SoC+Linuxのブートシーケンス(ZYNQ+Vivado編):図2 ZYNQでLinuxを動作させるためのデザインフロー
https://qiita.com/ikwzm/items/1614c35233e1836c7a26 FPGA+SoC+Linuxのブートシーケンス(ZYNQ+U-Boot-SPL編):図2 ZYNQでLinuxを動作させるためのデザインフロー
https://qiita.com/ikwzm/items/efacec8d8e0744e17d45ファイルシステムの話
https://qiita.com/awakia/items/51d24b50585571b6d70b