1.はじめに
近い将来、ZYNQ ARM 側を Linux 開発用にテストする必要があるため、カスタマイズには Petalinux ツールを使用する必要があります。そのため、この記事では Petalinux のインストール プロセスを簡単にまとめ、インストール プロセス中に発生するいくつかの問題について説明し、解決します。
Petalinux は、ザイリンクスが開発したエンベデッド Linux カスタム ソフトウェアで、Vivado と連携することで Linux システムの開発を簡素化します。開発者は、Petalinux を介して u-boot、Linux カーネル、および Linux アプリケーションをカスタマイズし、新しいカーネル、デバイス ドライバー、アプリケーション、およびライブラリを追加したり、ネットワークまたは JTAG を介してフル システム エミュレーターまたは物理ハードウェアでソフトウェア プロトコルを起動およびテストしたりできます。システムの起動から実行までのすべての操作を完了します。
ザイリンクスの公式 Web サイトには、Petalinux のダウンロード アドレスPetalinux Downloadとインストール ガイドのPetalinux Reference Guide が用意されています. 具体的なインストール プロセスについては、インストール ガイドを参照してください。
2. Petalinux のインストール プロセス
- 公式 Web サイトから Petalinux スイート インストール パッケージ petalinux-v<version number>-final-installer.run をダウンロードします.2017.4 を例にとると、インストール パッケージを Download ディレクトリに置きます:
- インストール パッケージに実行権限を追加します。
sudo chmod +x petalinux-v2017.4-final-installer.run
- 対応する依存パッケージをインストールします。そうしないと、インストール プロセス中に関連する依存関係がないことを確認するメッセージが表示されます。特定の依存パッケージは、リファレンス ガイドに記載されています。
Ubuntu システム:
sudo apt-get install -y tofrodos gawk xvfb git make net-tools libncurses5-dev tftpd \
zlib1g-dev zlib1g:i386 libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath \
socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib build-essential \
screen pax gzip
Redhat/CentOS システム
sudo yum install gawk make wget tar bzip2 gzip python unzip perl patch diffutils \
diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat perl-Data-Dumper \
perl-Text-ParseWords perl-Thread-Queue python34-pip xz which SDL-devel xterm autoconf \
libtool zlib-devel automake glib2-devel zlib ncurses-devel openssl-devel dos2unix flex \
bison glibc.i686 screen pax glibc-devel.i686 compat-libstdc+-33.i686 libstdc+.i686
インストールが完了するまで待ちます。
- Python と tftp サーバーをインストールします。そうしないと、インストールに影響します。具体的な影響については、第 3 部で詳しく説明します。
sudo apt-get install -y python tftpd-hpa
- Petalinux インストール ディレクトリを作成します。この記事は /opt/ ディレクトリに作成されています。
sudo mkdir -p /opt/petalinux/2017.4/
- インストール パスのパーミッション所有者を変更します。opt ディレクトリはルートの下にあり、インストール ディレクトリをユーザー名に関連付けます。
sudo chown carson /opt/petalinux/2017.4/
- インストール パッケージの場所でインストール コマンドを実行して、非管理者モードでのPetalinux のインストールを完了します。
./petalinux-v2017.4-final-installer.run /opt/petalinux/2017.4/
- インストール プロセス中に、一連のライセンス契約インターフェイスがポップアップします。Enter キーを押してインターフェイスに入り、q を押して契約を終了し、y を押して契約の内容に同意します。
入力して契約書を読みます。
「q」キーはプロトコルを終了します:
「y」は契約の内容に同意します:
「q」キーはプロトコルを終了します:
「y」は契約の内容に同意します:
「q」キーはプロトコルを終了します:
'y' は契約の内容に同意し、インストールが完了するのを待ちます。
3. インストールの一般的な問題と解決策
1. インストール プロセス中にエラー メッセージ「ERROR: You are PetaLinux installation guide - required tools and libraries package section for detailed information」がレポートされる
問題の原因:依存パッケージが完全にインストールされておらず、関連する依存パッケージが欠落しています。たとえば、python ライブラリが欠落しています:
解決策:プロンプトに従って、対応するインストール パッケージをインストールします。
sudo apt-get install -y python
2. インストール プロセスの警告「WARNING: No tftp server found - please refer to "PetaLinux SDK Installation Guide" for its impact and solution」
問題の原因: tftp サーバーがインストールされていない、tftp は JTAG よりも高速なブート起動を提供します。公式ドキュメントでは次のように説明されています。
解決策: tftp サーバーをインストールし、対応する読み取りおよび書き込み権限を提供します。
sudo apt-get install tftpd-hpa ##安装tftp server
sudo mkdir -p /var/lib/tftpboot/ ##创建tftpboot启动目录
sudo chmod 777 /var/lib/tftpboot/ ##为启动目录添加权限
sudo vim /etc/default/tftpd-hpa ##更改tftpboot启动配置内容
tftpd-hpa のデフォルト設定は次のとおりです。
新しいディレクトリに構成します。
TFTP サーバー サービスを再起動します。
sudo service tftpd-hpa restart
3. インストール手順报错 「エラー: バージョンの要件を満たしていないツールがあります: -検出された python のバージョンは、予想される 2.7.3 未満です」
問題の原因: python のバージョンが低すぎるか、python3 としてインストールされている python3 の更新が多いため、ここでは python2.7 (python2.7.3 以降) が引き続き使用されます。
解決策: Python のバージョンが python3 の場合は、python2.7.17 をインストールしてデフォルトとして設定します。
##查看python版本
python --version
##安装python2.7
sudo apt-get install -y python
##更改python软链接为python2.7
cd /usr/bin #进入python所在目录
sudo rm python #将原有python文件删除
sudo ln -s python2.7 python #将python链接到python2.7
それでも問題が解決しない場合は、/var/lib/dpkg の下にあるステータス ファイルを変更する必要があります。
cd /var/lib/dpkg #进入/var/lib/dpkg目录
sudo vi status #用vim修改status文件,若未安装vim需提前安装
python パッケージ セクションを検索し、前に次を追加します ( vi/vim search and edit method )。
Package: python
Status: install ok installed
Maintainer: Fake Entry <[email protected]>
Architecture: all
Version: 2.7.17
Description: fake package for petalinux
保存して終了し、再度実行して、インストールを正常に完了します。
4. プロセスの実行中に「libncursesw.so.5: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません」というエラーが報告される
問題の原因: libncursesw.so.5 ファイルが見つからず、libncursesw.so.5 が /lib/x86_64-linux-gnu および /lib32 の下に見つからない
回避策: libnursesw.so.5 を検索して、このファイルが存在するかどうかを確認します。
sudo apt install apt-file
sudo apt-file update
sudo apt-file find libncursesw.so.5
ファイルが見つからない場合は、libncursesw ライブラリを再インストールする必要があります。
sudo apt-get install libncursesw5
ncursesw (libncursesw.so.5) は、ncurses (libncurses.so.5) に基づいて utf8 文字セットのサポートを追加し、中国語をサポートできるため、ソフトウェアに中国語がある場合、操作中にエラーが報告される場合があります: utf8 はサポートされていません。