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 の領域を更新するためのファイルは 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 までファームウェアのファイルサイズが小さくなりました。