FC2カウンター FPGAの部屋 SDx のUltra96-V2 用プラットフォームを作る8(PetaLinuxプロジェクト4)
FC2ブログ

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

FPGAの部屋

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

SDx のUltra96-V2 用プラットフォームを作る8(PetaLinuxプロジェクト4)

SDx のUltra96-V2 用プラットフォームを作る7(PetaLinuxプロジェクト3)”の続き。

前回は、petalinux-build を行って、elf ファイルやLinux イメージを生成し、それらをSDx で利用しやすいように環境を整えた。今回は、PetaLinux 2018.3 からスタテック・リンクされていたライブラリ(libsds_lib.so)がダイナミック・リンクに変更になっているので、その処理を行う。

”プラットフォーム開発の際には、以前にスタティックにリンクされていたライブラリがダイナミックにリンクされる
ようになり (libsds_lib.so)、ボードで実行する Linux ファイル システムに含める必要があることに注意してくだ
さい。”UG1146 (v2018.3) 2019 年 1 月 24 日 プラットフォーム開発ガイド” 77 ページ(v2018.3からダイナミック・リンク・ライブラリになったようです)

今回も”Building Custom SDSoC Platform with PetaLinux”の”Step 2: Creating Petalinux for SDSoC”の”For SDSoC 2018.3 and above with PetaLinux”から設定方法を引用させていただいた。

Linux user application を作成する。
petalinux-create -t apps --template install --name mylib --enable
SDx_platform_85_191010.png

mylib ファイルを削除して、libsds_lib.so を同じディレクトリにコピーした。
rm ~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/recipes-apps/mylib/files/mylib

cp /tools/Xilinx/SDx/2018.3/target/aarch64-linux/lib/libsds_lib.so ~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/recipes-apps/mylib/files/

SDx_platform_86_191010.png

SDx_platform_87_191010.png

~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/recipes-apps/mylib/mylib.bb を編集した。
SDx_platform_88_191010.png

mylib.bb の内容を示す。

#
# This file is the mylib recipe.
#

SUMMARY = "Simple mylib application"
SECTION = "PETALINUX/apps"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI = "file://libsds_lib.so \
 "

S = "${WORKDIR}"
TARGET_CC_ARCH += "${LDFLAGS}"
do_install() {
      install -d ${D}/${bindir}
      install -m 0755 ${S}/libsds_lib.so ${D}/${bindir}
}
FILES_${PN} += "${libdir}"
FILES_SOLIBSDEV = ""


ROOT FSをビルドした。
petalinux-build -c rootfs
SDx_platform_89_191011.png

ログを示す。

(py27) masaaki@masaaki-H110M4-M01:~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1$ petalinux-build -c rootfs
[INFO] building rootfs
[INFO] sourcing bitbake
INFO: bitbake petalinux-user-image -c do_image_complete
WARNING: Host distribution "ubuntu-18.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |############################################| Time: 0:00:00
Loaded 3460 entries from dependency cache.
Parsing recipes: 100% |##########################################| Time: 0:00:03
Parsing of 2570 .bb files complete (2534 cached, 36 parsed). 3462 targets, 137 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#######################################| Time: 0:00:05
Checking sstate mirror object availability: 100% |###############| Time: 0:00:06
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 2325 tasks of which 2303 didn't need to be rerun and all succeeded.

Summary: There were 2 WARNING messages shown.
INFO: Copying Images from deploy to images
NOTE: Failed to copy built images to tftp dir:  /tftpboot
[INFO] successfully built rootfs



次に、libsds_lib_dbg.so についても手順を繰り返す。
petalinux-create -t apps --template install --name mylib2 --enable

rm ~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/recipes-apps/mylib2/files/mylib2

cp /tools/Xilinx/SDx/2018.3/target/aarch64-linux/lib/libsds_lib_dbg.so ~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/recipes-apps/mylib2/files/

SDx_platform_90_191011.png

SDx_platform_91_191011.png

~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/recipes-apps/mylib2/mylib2.bb を編集した。
SDx_platform_92_191011.png

#
# This file is the mylib2 recipe.
#

SUMMARY = "Simple mylib2 application"
SECTION = "PETALINUX/apps"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI = "file://libsds_lib_dbg.so \
 "

S = "${WORKDIR}"
TARGET_CC_ARCH += "${LDFLAGS}"
do_install() {
      install -d ${D}/${bindir}
      install -m 0755 ${S}/libsds_lib_dbg.so ${D}/${bindir}
}
FILES_${PN} += "${libdir}"
FILES_SOLIBSDEV = ""


petalinux-build -c rootfs
SDx_platform_93_191011.png

ログを示す。

(py27) masaaki@masaaki-H110M4-M01:~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1$ petalinux-build -c rootfs
[INFO] building rootfs
[INFO] sourcing bitbake
INFO: bitbake petalinux-user-image -c do_image_complete
WARNING: Host distribution "ubuntu-18.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |############################################| Time: 0:00:00
Loaded 3461 entries from dependency cache.
Parsing recipes: 100% |##########################################| Time: 0:00:03
Parsing of 2571 .bb files complete (2535 cached, 36 parsed). 3463 targets, 137 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#######################################| Time: 0:00:05
Checking sstate mirror object availability: 100% |###############| Time: 0:00:05
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 2336 tasks of which 2316 didn't need to be rerun and all succeeded.

Summary: There were 2 WARNING messages shown.
INFO: Copying Images from deploy to images
NOTE: Failed to copy built images to tftp dir:  /tftpboot
[INFO] successfully built rootfs

  1. 2019年10月11日 05:44 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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