2015/01/25

ZYBOでUbuntuのルートファイルシステムを使用する

はじめに

前回記事「Embedded Linux Hands-on Tutorial for the ZYBOをやってみました」で,ZYBO上でのLinux起動に成功しましたので,使用するルートファイルシステムをUbuntuのものに変更してみました. そもそも,私はまだLinuxやルートファイルシステム自体をよく理解していません. 本記事のタイトルからして適切なのか不安ですが,追々勉強して,理解しながら訂正や追記をしていきたいと思います.

下記記事を参考に作業しました.

開発環境

仮想マシン上のUbuntu 14.04 LTS 32bitで作業しました.

OS Ubuntu 14.04 LTS 32bit
作業ログ
1. microSDHCのフォーマット

前回記事「Embedded Linux Hands-on Tutorial for the ZYBOをやってみました」の内容を終えていることが前提となっています. ディレクトリ構造については,各自の環境に置き換えて読み進めてください.

microSDHC内のデータは,バックアップしておいてください. Ubuntuであれば,microSDHCを挿入すると,自動認識してファイルマネージャが開くのではないかと思います. 特に使用しませんので,ファイルマネージャは閉じても大丈夫です(下図は,Mac OS Xライクな外観にしたUbuntuのウィンドウです).


microSDHC (フォーマット前)

lsblkコマンドでmicroSDHCのマウント位置を調べました. 私の環境では,/dev/sdbでした. fdiskを開始し,pコマンドで既存パーティションを表示した後,dコマンドで既存パーティションを削除しました.

第1パーティション(プライマリ,64MByte)を作成しました. nコマンドで新規パーティションの作成を開始し,'p'でパーティションタイプをプライマリに,'1'でパーティション番号を1に設定しました. 最初セクタは入力せず,Lastセクタは'+64M'としました.

第2パーティション(プライマリ,残りの領域)を作成しました. nコマンドで新規パーティションの作成を開始し,'p'でパーティションタイプをプライマリに,'2'でパーティション番号を2に設定しました. 最初セクタとLastセクタは入力しませんでした.

第1パーティションのシステムタイプをFAT32に変更し(tコマンド),ブート可能フラグを付加しました(aコマンド).

パーティションテーブルの書込みを実行しました. 書込み後,パーティションテーブルの再読込みでエラーが発生しました. partprobeコマンドを実行しても駄目でした.

一度,microSDHCをアンマウント(取り外し)し,再度挿入することで解決しました. 一応,再度パーティションテーブルを書込みしました.

パーティション名を設定し,ファイルシステムを作成しました.

2. ルートファイルシステムの書込み

ルートファイルシステムの書込みを行いました. 下記はコマンド実行ログです. 事前に,ディレクトリ「zybo_ubuntu」を作成し,前回記事「Embedded Linux Hands-on Tutorial for the ZYBOをやってみました」内で作成した「BOOT.bin」をコピーしておきました. tarコマンドは,実行に6分程度かかりました.

3. BOOT.binとuImageの書込み

BOOT.binとuImage(前回記事「Embedded Linux Hands-on Tutorial for the ZYBOをやってみました」内で作成)をZYBO_BOOTに書き込みました.

4. devicetree.dtbの書込み

前回記事「Embedded Linux Hands-on Tutorial for the ZYBOをやってみました」内で使用した「zynq-zybo.dts」をコピーし,編集しました.

「zynq-zybo.dts」の変更箇所は42行目と55行目の計2箇所です.

5. uEnv.txtの書込み

「uEnv.txt」を作成し,ZYBO_BOOTにコピーしました.

「uEnv.txt」の内容は下記のとおりです.

6. 実機テスト

Linuxが起動しました!下記はTera Term上のログです.

7. apt-get

ZYBO用のEmbedded Linux をブートするSDカードの作り方」にしたがい,Tera Term上で下記コマンドを実行しておきました.

0 件のコメント:

コメントを投稿