FC2カウンター FPGAの部屋 Docker 上のUbuntu 16.04 のPetaLinux 2018.3でRootFSを使用するUltra96のPetaLinuxをビルドする1
fc2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Docker 上のUbuntu 16.04 のPetaLinux 2018.3でRootFSを使用するUltra96のPetaLinuxをビルドする1

Docker コンテナにUbuntu 16.04 のPetaLinux 2018.3をインストールできたので、今度はUltra96 用のPetaLinux をビルドしてみよう。

以前に、
Docker 上のUbuntu 16.04 のPetaLinux 2018.2 でビルドしてみた1
Docker 上のUbuntu 16.04 のPetaLinux 2018.2 でビルドしてみた2
Docker 上のUbuntu 16.04 のPetaLinux 2018.2 でビルドしてみた3
でUltra96 用のPetaLinux をビルドしてブートできたのだが、RAMDISK で起動したのみでSDカードに書いたRootFS からは起動していないので、これをやってみたい。

今回、参考にしたのは、PetaLinux 2018.3 の英語のリファレンス・マニュアルの”PetaLinux Tools Documentation Reference Guide UG1144 (v2018.3) December 5, 2018”とPetaLinux の日本語資料”PetaLinux ツール資料 リファレンス ガイド UG1144 (v2017.2) 2017 年 6 月 29 日”。

参考にしたWeb ページは”ZYBO (Zynq) 初心者ガイド (9) Linuxカーネルを少しカスタマイズする”。

PetaLinux 2018.3 のコマンドが使えるようにする。
source ~/pkg/petalinux183/settings.sh
PetaLinux183_12_190405.png

PetaLinux の cam_dp_183 プロジェクトを作成する。
petalinux-create --type project --template zynqMP --name cam_dp_183
PetaLinux183_13_190405.png

カメラ画像をDisplayPortに出力する7(ブロックデザインの変更)”の cam_dp_183.sdk ディレクトリをホストパソコンの ~/Docker/PetaLInux183/masaaki/cam_dp_183 ディレクトリ(PetaLinux プロジェクトのディレクトリ)の下にコピペする。
PetaLinux183_14_190405.png

docker run コマンドで ~/Docker/PetaLInux183/masaaki ディレクトリをマウントしてあるので、Docker コンテナでもすぐに cam_dp_183 ディレクトリが見える。
PetaLinux183_15_190405.png

次に環境設定を行う。
cd cam_dp_183/
petalinux-config --get-hw-description=cam_dp_183.sdk

すると、しばらくソフトウェアが走ってから、System Config画面が表示される。
この画面でやることをまとめる。

1. Image Packaging Configuration -> Root filesystem type -> SDカードを選択する(”ZYBO (Zynq) 初心者ガイド (9) Linuxカーネルを少しカスタマイズする”から引用)
2. Yocto Settings -> Enable Debug Tweaks を有効にする (Spaceキーを押す)(”ZYBO (Zynq) 初心者ガイド (9) Linuxカーネルを少しカスタマイズする”から引用)
3. Subsystem AUTO Hardware Settings -> Serial Settings -> Primary stdin/stdout を psu_uart_1 に変更(”Docker 上のUbuntu 16.04 のPetaLinux 2018.2 でビルドしてみた3”より引用)


なお、新千葉 ガーベージ・コレクションのZynq + Yoctoから引用すると

debug-tweaks はデバッグ用にセキュリティを弱くするみたい。login 時に root でパスワードがないなど。

だそうだ。このオプションは要らないかも?

さて、最初に 1. からやってみよう。
まずは、Image Packaging Configuration に入る。
PetaLinux183_16_190405.png

Root filesystem type (INITRAMFS) に入る。
PetaLinux183_17_190405.png

SD card でリターンキーを押す。(この図は2回めに入ったところ)
PetaLinux183_18_190405.png

Root filesystem type (SD card) になっている。
PetaLinux183_19_190405.png

< Exit > で一番上に戻って、Yocto Settings に入る。
PetaLinux183_20_190405.png

Enable Debug Tweaks でスペースキーを押して、チェックを入れる。
PetaLinux183_21_190405.png

< Exit > で一番上に戻って、Subsystem AUTO Hardware Settings に入る。
PetaLinux183_24_190405.png

Serial Settings に入る。(リターンキー)
PetaLinux183_25_190405.png

Primary stdin/stdout (psu_uart_0) に入る。
PetaLinux183_26_190405.png

psu_uart_1 でリターンキーを押す。(この図は2回めに入った時)
PetaLinux183_27_190405.png

上の画面では、Primary stdin/stdout (psu_uart_1) に変更されている。
PetaLinux183_28_190405.png

一番上の画面に戻ってから < Exit > を選択する。
PetaLinux183_29_190405.png

設定をセーブして、設定画面を抜けた。
PetaLinux183_30_190405.png

設定は成功した。
PetaLinux183_31_190405.png

ログを示す。

masaaki@afe35354e423:~/cam_dp_183$ petalinux-config --get-hw-description=cam_dp_183.sdk
INFO: Getting hardware description...
INFO: Rename cam_dp_wrapper.hdf to system.hdf
[INFO] generating Kconfig for project
[INFO] menuconfig project
configuration written to /home/masaaki/cam_dp_183/project-spec/configs/config

*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.

[INFO] sourcing bitbake
[INFO] generating plnxtool conf
[INFO] generating meta-plnx-generated layer
[INFO] generating machine configuration
[INFO] generating bbappends for project . This may take time !
[INFO] generating u-boot configuration files
[INFO] generating kernel configuration files
[INFO] generating kconfig for Rootfs
[INFO] oldconfig rootfs
[INFO] generating petalinux-user-image.bb


次にビルドしよう。
LANG=en_US.UTF-8 petalinux-build
PetaLinux183_32_190405.png

ビルドが成功した。
ログを示す。

masaaki@afe35354e423:~/cam_dp_183$ LANG=en_US.UTF-8 petalinux-build
[INFO] building project
[INFO] sourcing bitbake
INFO: bitbake petalinux-user-image
Loading cache: 100% |############################################| Time: 0:00:00
Loaded 3460 entries from dependency cache.
Parsing recipes: 100% |##########################################| Time: 0:00:04
Parsing of 2569 .bb files complete (2527 cached, 42 parsed). 3461 targets, 137 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#######################################| Time: 0:00:07
Checking sstate mirror object availability: 100% |###############| Time: 0:00:13
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: petalinux-user-image-1.0-r0 do_rootfs: [log_check] petalinux-user-image: found 1 warning message in the logfile:
[log_check] warning: %post(sysvinit-inittab-2.88dsf-r10.plnx_zynqmp) scriptlet failed, exit status 1

NOTE: Tasks Summary: Attempted 3132 tasks of which 2525 didn't need to be rerun and all succeeded.

Summary: There was 1 WARNING message shown.
INFO: Copying Images from deploy to images
NOTE: Failed to copy built images to tftp dir: /tftpboot
[INFO] successfully built project


cam_dp_183 プロジェクトの imagas/linux にはたくさんのファイルが生成された。
PetaLinux183_33_190406.png
  1. 2019年04月05日 05:34 |
  2. PetaLinux
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/4491-4aa518b7
この記事にトラックバックする(FC2ブログユーザー)