build_firm.sh
スクリプトにより、ファームウェアファイルを作ることができます。
スクリプト本体は、ダウンロード:MA-S1xx シリーズ にあります。
user1@mas1xx-devel:~/work$ ./build_firm.sh MA-S1xx series Firmware build script usage: build_firm.sh -k kernel_dir -r rootfs_dir [-c COMPRESSION] [-o firmware_file] user1@mas1xx-devel:~/work$
引数として、下記を指定します。
-k
: カーネルを展開したディレクトリ-r
: root filesystem を展開したディレクトリ-o
: 出力ファームウェアファイル名1)
実行例は下記のようになります。
user1@mas1xx-devel:~/work$ sudo ./build_firm.sh -k ~/src/linux-kernel -r mas1xx_focal_rootfs -o mas1xx_focal_v5_0_0beta1.img MA-S1xx series Firmware build script * use default config HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o HOSTCC scripts/kconfig/confdata.o HOSTCC scripts/kconfig/expr.o LEX scripts/kconfig/lexer.lex.c YACC scripts/kconfig/parser.tab.[ch] HOSTCC scripts/kconfig/lexer.lex.o HOSTCC scripts/kconfig/parser.tab.o HOSTCC scripts/kconfig/preprocess.o HOSTCC scripts/kconfig/symbol.o HOSTLD scripts/kconfig/conf # # configuration written to .config # * kernelrelease: 5.4.41-linux4sam-2020.04+ scripts/kconfig/conf --syncconfig Kconfig SYSHDR arch/arm/include/generated/uapi/asm/unistd-common.h SYSHDR arch/arm/include/generated/uapi/asm/unistd-oabi.h SYSHDR arch/arm/include/generated/uapi/asm/unistd-eabi.h HOSTCC scripts/dtc/dtc.o HOSTCC scripts/dtc/flattree.o HOSTCC scripts/dtc/fstree.o HOSTCC scripts/dtc/data.o HOSTCC scripts/dtc/livetree.o HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/dtc/checks.o HOSTCC scripts/dtc/util.o LEX scripts/dtc/dtc-lexer.lex.c YACC scripts/dtc/dtc-parser.tab.[ch] HOSTCC scripts/dtc/dtc-lexer.lex.o HOSTCC scripts/dtc/dtc-parser.tab.o ... 中略 ... mail (8) staff (50) unknown (112) adm (4) * create initramfs ... update-initramfs: Generating /boot/initrd.img-5.4.41-linux4sam-2020.04+ adding: kernel.img (stored 0%) adding: kmod.img (stored 0%) adding: initramfs.img (stored 0%) adding: rootfs.img (stored 0%) adding: .config (deflated 77%) adding: at91-centurysys-gemini-00.dtb (deflated 76%) adding: at91-centurysys-gemini-01.dtb (deflated 76%) adding: at91-centurysys-gemini-01.dtbo (deflated 64%) adding: at91-centurysys-gemini-02.dtbo (deflated 63%) * Firmware filename: /home/user1/work/mas1xx_focal_v5_0_0beta1.img done. please remove working directory '/home/user1/work/build_1596021499' manually. user1@mas1xx-devel:~/work$
ファームウェアができあがりました。
user1@mas1xx-devel:~/work$ ls -l mas1xx_focal_v5_0_0beta1.img -rw-r--r-- 1 root root 87142992 7月 29 11:21 mas1xx_focal_v5_0_0beta1.img
ファームウェアは ZIP ファイル形式になっていますので、unzip
コマンドで内容を確認することができます。
user1@mas1xx-devel:~/work$ unzip -l mas1xx_focal_v5_0_0beta1.img Archive: mas1xx_focal_v5_0_0beta1.img Length Date Time Name --------- ---------- ----- ---- 4757680 2020-07-29 11:21 kernel.img 1335296 2020-07-29 11:21 kmod.img 2456724 2020-07-29 11:21 initramfs.img 78548992 2020-07-29 11:21 rootfs.img 109251 2020-07-29 11:21 .config 33413 2020-07-29 11:21 at91-centurysys-gemini-00.dtb 33663 2020-07-29 11:21 at91-centurysys-gemini-01.dtb 1770 2020-07-29 11:21 at91-centurysys-gemini-01.dtbo 1683 2020-07-29 11:21 at91-centurysys-gemini-02.dtbo --------- ------- 87278472 9 files