====== ファームウェアの作成 ======
\\
''build_firm.sh'' スクリプトにより、ファームウェアファイルを作ることができます。\\
スクリプト本体は、[[download_software:mas1xx:start|ダウンロード: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'' : 出力ファームウェアファイル名((省略可: 省略時、カレントディレクトリに “firmware_YYYYMMDD_hhmmss.img” 形式で作成します))
\\
実行例は下記のようになります。
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
\\