ファームウェアをビルドするためには、
が必要になりますので、それらを準備します。
ホームディレクトリ直下で作業すると、ファイルやディレクトリが散らばってしまうので、ワーキングディレクトリを作成します。
developer@develop3:~$ mkdir work developer@develop3:~$ cd work/ developer@develop3:~/work$
MA-E シリーズ用の Kernel は、centurysys/liunux-kernel-MAE - GitHub で公開しています。
git でソースを取得しますので、git パッケージを追加します。
developer@develop3:~/work$ sudo apt install git パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: git-man libcurl3-gnutls liberror-perl libnghttp2-14 libpsl5 librtmp1 publicsuffix 提案パッケージ: gettext-base git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn 以下のパッケージが新たにインストールされます: git git-man libcurl3-gnutls liberror-perl libnghttp2-14 libpsl5 librtmp1 publicsuffix アップグレード: 0 個、新規インストール: 8 個、削除: 0 個、保留: 0 個。 5,217 kB のアーカイブを取得する必要があります。 この操作後に追加で 35.2 MB のディスク容量が消費されます。 続行しますか? [Y/n]
git コマンドで Kernel ソースを取得します。
developer@develop3:~/work$ git clone https://github.com/centurysys/linux-kernel-MAE.git Cloning into 'linux-kernel-MAE'... remote: Enumerating objects: 6550173, done. remote: Total 6550173 (delta 0), reused 0 (delta 0), pack-reused 6550173 Receiving objects: 100% (6550173/6550173), 1.38 GiB | 8.73 MiB/s, done. Resolving deltas: 100% (5542500/5542500), done. Checking out files: 100% (61926/61926), done. developer@develop3:~/work$
branch を確認します。
developer@develop3:~/work$ cd linux-kernel-MAE/ developer@develop3:~/work/linux-kernel-MAE$ git branch * MA-E3xx/linux-WireGuard-4.19.y-20190601
こちら からダウンロードします。
developer@develop3:~/work$ ls -l 合計 66876 drwxrwxr-x 27 developer developer 4096 6月 24 03:41 linux-kernel-MAE -rw-rw-r-- 1 developer developer 68472984 6月 24 04:04 mae3xx_rootfs_bionic_v4_2_0.tar.xz <----- v4.2.0
ディレクトリを作って、アーカイブを展開しておきます。
developer@develop3:~/work$ mkdir rootfs developer@develop3:~/work$ cd rootfs/ developer@develop3:~/work/rootfs$ sudo tar axvf ../mae3xx_rootfs_bionic_v4_2_0.tar.xz ... ./dev/tty0 ./dev/rmidi2 ./dev/tty3 ./dev/tty7 ./dev/dsp2 ./dev/audio2 ./dev/null developer@develop3:~/work/rootfs$
以下のようにファイルシステムのベースが展開されていることを確認します。
developer@develop3:~/work/rootfs$ ls -l 合計 72 drwxr-xr-x 2 root root 4096 6月 11 02:21 bin drwxr-xr-x 2 root root 4096 6月 20 02:24 boot drwxr-xr-x 4 root root 4096 9月 7 2017 dev drwxr-xr-x 87 root root 4096 6月 20 02:14 etc drwxr-xr-x 3 root root 4096 9月 7 2017 home drwxr-xr-x 17 root root 4096 6月 6 04:52 lib drwxr-xr-x 2 root root 4096 9月 7 2017 media drwxr-xr-x 6 root root 4096 12月 13 2017 mnt drwxr-xr-x 3 root root 4096 12月 20 2017 opt drwxr-xr-x 2 root root 4096 4月 12 2016 proc drwx------ 4 root root 4096 6月 20 02:15 root drwxr-xr-x 15 root root 4096 2月 26 01:25 run drwxr-xr-x 2 root root 4096 6月 11 02:21 sbin drwxr-xr-x 2 root root 4096 9月 7 2017 srv drwxr-xr-x 2 root root 4096 2月 5 2016 sys drwxrwxrwt 2 root root 4096 6月 20 02:15 tmp drwxr-xr-x 10 root root 4096 9月 7 2017 usr drwxr-xr-x 12 root root 4096 8月 27 2018 var
developer@develop3:~/work/rootfs$ cat etc/version MA-E3xx firmware version 4.2.0 (Thu Jun 20 11:20:42 JST 2019) developer@develop3:~/work/rootfs$
ここ から build_firm.sh を入手します。
developer@develop3:~/work$ ls -l 合計 66888 -rw-rw-r-- 1 developer developer 6732 6月 24 04:16 build_firm.sh drwxrwxr-x 27 developer developer 4096 6月 24 03:41 linux-kernel-MAE -rw-rw-r-- 1 developer developer 68472984 6月 24 04:04 mae3xx_rootfs_bionic_v4_2_0.tar.xz drwxr-xr-x 20 root root 4096 6月 17 23:42 rootfs
実行を許可しておきます。
developer@develop3:~/work$ chmod +x build_firm.sh developer@develop3:~/work$ ls -l build_firm.sh -rwxrwxr-x 1 developer developer 6732 6月 24 04:16 build_firm.sh
下記が必要になりますので、追加しておきます。
developer@develop3:~/work$ sudo apt install squashfs-tools u-boot-tools bison flex libssl-dev bc zip unzip パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: libfl-dev 提案パッケージ: bison-doc flex-doc libssl-doc 以下のパッケージが新たにインストールされます: bc bison flex libfl-dev libssl-dev squashfs-tools u-boot-tools unzip zip アップグレード: 0 個、新規インストール: 9 個、削除: 0 個、保留: 0 個。 2,822 kB のアーカイブを取得する必要があります。 この操作後に追加で 12.7 MB のディスク容量が消費されます。 続行しますか? [Y/n]