ZyboでGUIのLinuxを立ち上げてみる
前回はZyboでXillnuxを立ち上げるために、必要なファイルをダウンロード&Vivadoでgenerate bitstreamして作成した。今回はいよいよmicroSDカードにXillinuxのイメージを書き込み、必要なファイルをコピーしたXillinuxを立ち上げてみる。
なお、今回もWindows PCから操作を行う前提で書いていく。
開発環境
母艦PC:Windows 10
Vivado 2020.1
Zybo(Zynq-7000、型番410-279)
今回使うもの
micro SDカード
HDMI or VGAモニター
USBキーボード
USBマウス
USBハブ(なくてもUSBキーボードとUSBマウスをつなぎかえれば操作は可能)
5V ACアダプター(今回つかったのは5V 2A品)
microSDカードにイメージを書き込む
まず、前回の記事でダウンロードしたxillinux-2.0.img.gzを7zipなどで解凍する。PCにmicroSDを挿してこのイメージを書き込むが、イメージを書き込んだらmicroSDに保存されているデータはすべて消えるので注意。
イメージはLinux PCであればddコマンドで書き込むが、今回はWindow PCで書き込みを行うので、公式ドキュメントでも紹介されているWin32 Disk Imagerをダウンロードして使う。
PCにmicroSDを挿したらドライブを確認したうえで、Win32 Disk Imagerを立ち上げて「Device」にmicroSDのドライブ、Image Fileに先ほど解凍したillinux-2.0.imgを設定して「Write」をクリックして書き込む。microSD以外にストレージが接続してある場合、Deviceを間違えて他のドライブに上書きしないように注意。
Vivadoでtclファイルからプロジェクトを作成&generate bitstreamを実行
問題なく完了したらWin32 Disk Imagerを閉じる。この時点でmicroSDカードは2つのパーティションに分かれている。
2つのパーティションのうち、uImageというファイルが置いてある容量が小さいパーティション(boot partition)に、前回Vivadoで作成したxillydemo.bitと、XillinuxのWebサイトからダウンロードしたboot.bin、devicetree.dtbの3つのファイルをコピーする。
これで準備は完了。
ZyboにmicroSDカードを挿してXillinuxを立ち上げる
母艦PCからTera Termなどでシリアル通信して操作することもできるのだが、今回は母艦PCとは接続せずに、Zybo単体でGUIのLinuxを立ち上げてみることにする。
記事の冒頭に書いた「今回使うもの」で挙げたものを以下のように接続する。ZyboはUSBポートが1つしかないので今回はUSBハブを使ってUSBマウスとUSBキーボードを接続した。ただ、USBハブがなくてもキーボードとマウスを差し替えながら操作すれば、USBハブがなくても一応GUIでの操作を試すことはできる。また、私はHDMIケーブルで接続したが、VGAが付いているZyboであればVGAケーブルでモニタと接続しても画は出るはず。
JP5は以下の写真のようにSDに接続しておく。また、私は5V2AのACアダプターを電源として使ったのでJP7をWALL側に接続したが、もしmicro USBから給電したい場合はUSB側に接続すればOK。真面目に調べてないけど10W程度供給できれば問題なく動くとは思う。この状態で電源SWをONにすると起動する。
まずはCUIで立ち上がり、しばらく待つと以下のようにコマンドを打てるようになる。
ここで以下のstartxコマンドを打つとGUIが立ちあがる。
root@localhost:~# startx
※ここで正常に立ち上がらない場合、SDカードに正常にイメージが書けていない可能性がある。
以下がGUIが立ち上がった様子。Zybo上でGUIのLinuxが立ち上がるとかなり楽しい。
電源を切る時は、左下のメニューからLogoutを選び、Shudownをクリックする。
するとCUIの画面に戻ってshutdownの処理が進むので、System haltedと表示されたら電源SWをOFFにすればOK。
ちなみにデフォルトの設定だと使いづらい部分もあるので、これからボチボチ環境を整えていきたいと思う。次回があるかは未定だが、できるかぎりメモは残しておこうと思う。