ハードウェアの気になるあれこれスマートフォン用の表示で見るハードウェアの気になるあれこれ技術的に興味のあることを調べて書いてくブログ。FPGAスポンサーリンク前回のUltra96ネタではUltra96用のBSPとPetaLinuxを使って自前でビルドしたBOOT.BINを使ってボード上にbitファイルを読み込み、Linux側からアクセスが可能なことを確認した。www.tech-diningyo.info次はドライバでも、、と書いたのだが、前回は少しサボってマイクロSDはUltra96付属の物をそのまま使ったためパーティションが既に設定されているマイクロSDかつ、rootfsは差し替え無しという状態だった。今回は新しくマイクロSDを用意したので、そこに前回ビルドしたデータ一式を展開して同様のことが出来ることを確認していこうと思う。あるがSDカードの準備から。必要になるパーティションは以下の2つBOOT.bin等が格納されるboot用パーティションLinuxのrootfsが展開されるパーティションブートの際の順番の関係上、boot用のパーティションがSDの先頭に来るようにしておく必要がある点は注意。SDカードのパーティション作成まずはパーティション作成から。FAT32'がboot用のパーティションになる。このfdiskの書き込みが完了すると/devの下に以下の様にマイクロSDに対応したsddに数字がついたファイルが生成される。次はファイルシステムの作成。ext4でファイルシステムを作成する。1番目のパーティションはvfat固定だが、2番目のrootfs用のパーティションについてはUltra96のPetaLinuxの生成物の中にはext3/ext4向けのデータが含まれているので、この辺はまあお好みで。#他にもディレクトリ構造を保持した状態で固めたtarファイルとかもあるから何でも良い気がする。Windows-nオプションはボリュームの名前をつけるオプション。rootfs用パーティションの作成こちらはmkfs.ext4を使用する。ラベルをつけるオプションが異なるので注意。done因みに以前にも使っていたファイルシステムが残っているのが検出された場合、以下のようなメッセージが表示される。問題なければyを入力して先に進もう。yデータの書き込みSDの設定が終了したので、後は既にビルド済みのイメージをSDに展開すればそれで準備は完了となる。ブート用パーティションへのデータのコピーここは前回と同様なので、先日の記事から引用。次はrootfsの展開。自分のビルドしたPetaLinuxプロジェクトのimages/linux/以下に複数のrootfsという名前が入ったファイルが生成されているはずだ。筆者の環境だと以下のような感じ。rootfs.testdata.jsonこの中の適当なデータをそれぞれのファイルに合った適当な方法で先ほど作ったSDのrootfsパーティションに展開すればそれでOKとなる。"rootfs.ext4"を使った方法ここは使う元データによって色々方法があるみたい。筆者は"rootfs.ext4"を直接SDのパーティションに展開する方法を使った。/dev/sdd2Ultra96のサイトの手順だと、以下の様にddコマンドで展開する手順となっていた。of=/dev/sdd2うん、そういやこんな方法あったね。こっちのほうがいいや。要するに"rootfs.ext4"はrootfsのイメージをそのファイルシステムのままバイナリデータにしたものなので、それをパーティションの先頭からきちんと展開すれば問題ない。書き込んだ後にsyncコマンドを発行して、きちんとデータが書かれるようにしておこう。手順踏んでSDを取り外せば大丈夫なはずだけど、一応。先ほどのext4のファイルはデータを全てバイナリに変換して物になってるが、この2つのファイルはrootfsをディレクトリ構造もそのままtarで固めた様な状態になっている。そのためこのファイルを使う場合はrootfsをマウントしておき、tarコマンド等でデータを展開すればOK。syncこっちもきちんとsyncを終えてからSDを抜くか、きちんとマウントを解除してからSDを取り外すかしておこう。tarで展開するとコマンド終わってもきちんと書き込み終わってないことがあるので。上記の要領で書き込んだrootfsを入れたマイクロSDカードでLinuxが起動してログインが可能なことは確認が出来た。ttyPS0root@xilinx-ultra96-reva-2018_2:~#ただ、なんかBluetooth周りでファームがダウンロード出来ないというエラーが出ている。あとGPUどうの、、てのいうのも。この辺はとりあえず今は関係ないので放置。後で付属のマイクロSDと比較して見るくらいはしてみようかな。firmwareこれでUltra96のBSP+PetaLinux2018.2で構築したrootfsも一部問題はありそうだが、とりあえず使えそうな感じであることは確認できた。次こそは簡単なデバイスドライバ書いてPL領域へのメモリアクセスを確認しようと思う。技書博2にChisel本を出してきました月別アーカイブはてなブログをはじめよう!diningyo-kpuku-jougekiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。