====== ファームウェアファイルのカスタマイズ ====== 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回線経由では\\ 余計な通信費がかかってしまいます。\\ 例として、 * Kernel/Kernel module だけ更新したい * Java だけ更新したい * Java は変更されていないので、Java の部分は更新対象から除外したい などの場合に、ファームウェアファイルをカスタマイズする方法を紹介します。 \\ ===== カスタマイズ例 ===== ==== 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 までファームウェアのファイルサイズが小さくなりました。 \\