ユーザ用ツール

サイト用ツール


mae3xx_devel:prepare_build_env:start

ファームウェアビルド環境の準備

ファームウェアをビルドするためには、

  • Kernel ソース
  • root filesystem
  • ビルドスクリプト

が必要になりますので、それらを準備します。


ワーキングディレクトリの準備 (任意)

ホームディレクトリ直下で作業すると、ファイルやディレクトリが散らばってしまうので、ワーキングディレクトリを作成します。

developer@develop3:~$ mkdir work
developer@develop3:~$ cd work/
developer@develop3:~/work$ 


Kernel ソースの入手

MA-E シリーズ用の Kernel は、centurysys/liunux-kernel-MAE - GitHub で公開しています。

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


root filesystem の入手

こちら からダウンロードします。

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


パッケージの追加

下記が必要になりますので、追加しておきます。

  • squashfs-tools
  • u-boot-tools
  • bison
  • flex
  • libssl-dev
  • bc
  • zip
  • unzip
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] 
mae3xx_devel/prepare_build_env/start.txt · 最終更新: 2019/06/24 13:32 by admin