目次

ファームウェアファイルのカスタマイズ

MA-E3xx シリーズのファームウェアファイルは、拡張子は “.img” ですが、内容は ZIPファイル形式となっています。

% unzip -l mae3xx_trusty_v2_6_6alpha1.img
Archive:  mae3xx_trusty_v2_6_6alpha1.img
  Length      Date    Time    Name
---------  ---------- -----   ----
  3508824  2015-11-30 09:25   kernel.img
  1699840  2015-11-30 09:25   kmod.img
  1907256  2015-11-30 09:27   initramfs.img
 62672896  2015-11-30 09:27   rootfs.img
    50284  2015-11-30 09:25   dtb.img
 11786240  2015-10-22 09:56   opt.img
     1013  2015-02-04 15:22   firmup-pre.sh
   386224  2015-06-03 15:29   barebox.bin.img
---------                     -------
 82012577                     8 files


古いバージョンからアップデートする場合でも、Java/Bootloader などが更新できるよう、全てのイメージを含んでいます。
一つ前のバージョンからの更新などで Java は更新する必要がない等の場合でも全てを含んでいるため、LTE/3G回線経由では
余計な通信費がかかってしまいます。

例として、

などの場合に、ファームウェアファイルをカスタマイズする方法を紹介します。


カスタマイズ例

Java を更新対象から外す

Java の領域を更新するためのファイルは opt.img なので、ファームウェアファイルから opt.img を削除します。

削除前

% unzip -l firmware.img 
Archive:  firmware.img
  Length      Date    Time    Name
---------  ---------- -----   ----
  3510016  2015-12-07 11:36   kernel.img
  1699840  2015-12-07 11:36   kmod.img
  1907476  2015-12-07 11:37   initramfs.img
 77557760  2015-12-07 11:37   rootfs.img
    50284  2015-12-07 11:36   dtb.img
 21903360  2015-11-24 11:02   opt.img
     1013  2015-02-04 15:22   firmup-pre.sh
   386224  2015-06-03 15:29   barebox.bin.img
---------                     -------
107015973                     8 files

削除処理

% zip firmware.img -d opt.img
deleting: opt.img
% unzip -l firmware.img
Archive:  firmware.img
  Length      Date    Time    Name
---------  ---------- -----   ----
  3510016  2015-12-07 11:36   kernel.img
  1699840  2015-12-07 11:36   kmod.img
  1907476  2015-12-07 11:37   initramfs.img
 77557760  2015-12-07 11:37   rootfs.img
    50284  2015-12-07 11:36   dtb.img
     1013  2015-02-04 15:22   firmup-pre.sh
   386224  2015-06-03 15:29   barebox.bin.img
---------                     -------
 85112613                     7 files

107015973bytes → 85112613bytes までファームウェアのファイルサイズが小さくなりました。