以前、以下の記事にてwxPython PhoenixをArmadillo-640にインストールする方法をご紹介しました。
Armadillo640へのwxPython Phoenix(Python3に対応したwxPython)のインストール
上記記事ではeMMCをブートディスクとする環境ではダウンロードファイルに対して容量が足りず、
インストールを完了できないとしていました。
しかしながら、インストールの過程で多量のファイルが必要となるものの、
実行環境そのものはそれほど大容量とはならないため、
at-debian-builderを使ってwxPython Phoenixをインストール済のルートファイルシステムをビルドすれば、
Armadillo-600のeMMC上でwxPythonを動作させることが出来ます。
この記事では、そのために必要な手順をご紹介します。
at-debian-builderの準備
以下のページより、at-debian-builderをATDE上にダウンロードしてください。
Armadillo-640 開発用ツール
以下のコマンドでat-debian-builderを展開してください。
[ATDE ~]$ tar xf at-debian-builder-[VERSION].tar.gz
以下のコマンドでArmadillo-600シリーズ用の設定ファイルディレクトリへ移動してください。
[ATDE ~]$ cd at-debian-builder-[VERSION]/a600_resources/resources
このディレクトリ内にある、「packages」と「fixup」というファイルを編集します。
インストールパッケージの設定
packagesをviで編集し、wxPython Phoenixのインストールに必要なパッケージを追加します。
どこに追加しても問題ありませんが、以下の例では末尾に追記する形を取っています。
# List of packaes will install in the debootstrap chroot environment.
# A line start with # is comment. Separate packages name with new-line or space.
#Init
systemd
systemd-sysv
(中略)
#wxpython3.0
python3
python3-pip
python3-numpy
libgtk2.0-dev
libgtk-3-dev
libjpeg-dev
libtiff-dev
libsdl1.2-dev
libgstreamer-plugins-base1.0-dev
libnotify-dev
freeglut3
freeglut3-dev
libsm-dev
libwebkitgtk-dev
libwebkitgtk-3.0-dev
wxPython Phoenixのインストール
wxPython PhoenixはDebianパッケージではないので、Python3-pipを使ってインストールします。
at-debian-builderでのルートファイルシステムアーカイブのビルド実行時にPython3-pipのインストールを行わせるために、fixupを以下のように編集します。
#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PKGS=$(cat /resources/packages | grep -v ^# | xargs)
cp /resources/sources.list /etc/apt/sources.list
export DEBIAN_FRONTEND=noninteractive
apt-key adv --keyserver pgp.nic.ad.jp --recv-keys 3874DA771B351757
apt-get -y update
apt-get -y install $PKGS
(python3-pipをインストールしてからでないと、pip3 installコマンドを実行できないので、
「apt-get -y install $PKGS」よりも後に入力して下さい)
------ここから-----------------
#wxpython3.0
pip3 install pathlib2
pip3 install wxpython
------ここまで-----------------
#Setup locales
locale-gen
sed -i 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
(後略)
ルートファイルシステムアーカイブのビルド
at-debian-builder-[VERSION]ディレクトリ直下に移動し直して、
下記コマンドを実行してください。
[ATDE ~]$ sudo ./build.sh a600
完了までに数時間を要するのでお気を付け下さい。
また、かならずATDEがインターネットに接続出来ている状態で実行してください。
ルートファイルシステムアーカイブの書き込み
ビルドしたルートファイルシステムアーカイブをArmadillo-640へ書き込んでください。
書き込み方はマニュアルをご参照ください。
イメージファイルの書き換え方法
以上で、wxPython PhoenixがArmadillo-640にインストールされます。
参考情報
インストール後のeMMCの使用可能容量は、検証環境では1.4GBとなっており、
同じArmadillo-640を11/24時点での最新のインストールディスク(install-disk-sd-a600-20201030.img)で初期化した場合の2.6GBよりも1.2GB少なくなりました。
標準のインストールディスクで初期化した直後:
root@armadillo:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 10M 0 10M 0% /dev
tmpfs 100M 1.5M 99M 2% /run
/dev/mmcblk0p2 3.3G 553M 2.6G 18% /
tmpfs 250M 0 250M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 250M 0 250M 0% /sys/fs/cgroup
/dev/mmcblk0gp0 128K 128K 0 100% /opt/license
tmpfs 50M 0 50M 0% /run/user/0
wxPythonをインストールしたルートファイルシステムを書き込んだ直後:
root@armadillo:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 10M 0 10M 0% /dev
tmpfs 100M 1.8M 98M 2% /run
/dev/mmcblk0p2 3.3G 1.8G 1.4G 58% /
tmpfs 250M 0 250M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 250M 0 250M 0% /sys/fs/cgroup
/dev/mmcblk0gp0 128K 128K 0 100% /opt/license
tmpfs 50M 0 50M 0% /run/user/0