====== ファームウェアの作成 ======
\\
''build_firm.sh'' スクリプトにより、ファームウェアファイルを作ることができます。\\
スクリプト本体は、[[download_software:max3xx:start|ダウンロード:MA-X3xx シリーズ]] にあります。
user1@max3xx-devel:~/work$ ./build_firm.sh
MAX3xx Firmware build script
usage: build_firm.sh -k kernel_dir -r rootfs_dir [-o firmware_file]
user1@max3xx-devel:~/work$
引数として、下記を指定します。
* ''-k'' : カーネルを展開したディレクトリ
* ''-r'' : root filesystem を展開したディレクトリ
* ''-o'' : 出力ファームウェアファイル名((省略可: 省略時、カレントディレクトリに “firmware_YYYYMMDD_hhmmss.img” 形式で作成します))
\\
実行例は下記のようになります。
user1@max3xx-devel:~/work$ sudo ./build_firm.sh -k ../src/linux-kernel -r max3xx_jammy_rootfs -o firmware/firmware.img
MAX3xx 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/menu.o
...
root (0)
dip (30)
shadow (42)
kikuchi (1000)
systemd-network (102)
utmp (43)
messagebus (105)
netdev (113)
tty (5)
systemd-timesync (106)
render (110)
proxy (13)
_ssh (112)
staff (50)
adm (4)
systemd-journal (101)
mail (8)
* create initramfs ...
Kernel Release: 6.1.12+
update-initramfs: Generating /boot/initrd.img-6.1.12+
adding: kmod.img (stored 0%)
adding: initramfs.img (stored 0%)
adding: rootfs.img (stored 0%)
adding: kernel.img (deflated 58%)
adding: .config (deflated 77%)
adding: k3-am642-centurysys-metis-00.dtb (deflated 77%)
adding: k3-am642-centurysys-metis-01.dtb (deflated 77%)
adding: k3-am642-centurysys-metis-ext-01.dtbo (deflated 77%)
adding: k3-am642-centurysys-metis-ext-02.dtbo (deflated 77%)
adding: k3-am642-centurysys-metis-mod-01.dtbo (deflated 52%)
adding: k3-am642-centurysys-metis-mod-02.dtbo (deflated 52%)
* Firmware filename: /home/user1/work/firmware/firmware.img
Archive: /home/user1/work/firmware/firmware.img
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
1404928 Stored 1404928 0% 2023-04-12 17:59 f9786038 kmod.img
4231664 Stored 4231664 0% 2023-04-12 17:59 9960b0ca initramfs.img
82001920 Stored 82001920 0% 2023-04-12 17:59 2de00ca7 rootfs.img
17172488 Defl:N 7284572 58% 2023-04-12 17:59 1fb808bf kernel.img
143194 Defl:N 32634 77% 2023-04-12 17:59 3f4db7a3 .config
54817 Defl:N 12585 77% 2023-04-12 17:59 70571b03 k3-am642-centurysys-metis-00.dtb
55231 Defl:N 12691 77% 2023-04-12 17:59 9cf86377 k3-am642-centurysys-metis-01.dtb
7132 Defl:N 1662 77% 2023-04-12 17:59 b006b511 k3-am642-centurysys-metis-ext-01.dtbo
7838 Defl:N 1834 77% 2023-04-12 17:59 24ce757a k3-am642-centurysys-metis-ext-02.dtbo
579 Defl:N 280 52% 2023-04-12 17:59 045db4c9 k3-am642-centurysys-metis-mod-01.dtbo
579 Defl:N 280 52% 2023-04-12 17:59 045db4c9 k3-am642-centurysys-metis-mod-02.dtbo
-------- ------- --- -------
105080370 94985050 10% 11 files
done.
please remove working directory '/home/user1/work/build_1681289736' manually.
user1@max3xx-devel:~/work$
\\
ファームウェアが出来上がりました。
user1@max3xx-devel:~/work$ ls -l firmware/
total 92764
-rw-r--r-- 1 root root 94987000 Apr 12 18:00 firmware.img
user1@max3xx-devel:~/work$
\\
ファームウェアは ZIP ファイル形式になっていますので、**unzip** コマンドで内容を確認することができます。
user1@max3xx-devel:~/work$ unzip -l firmware/firmware.img
Archive: firmware/firmware.img
Length Date Time Name
--------- ---------- ----- ----
1404928 2023-04-12 17:59 kmod.img
4231664 2023-04-12 17:59 initramfs.img
82001920 2023-04-12 17:59 rootfs.img
17172488 2023-04-12 17:59 kernel.img
143194 2023-04-12 17:59 .config
54817 2023-04-12 17:59 k3-am642-centurysys-metis-00.dtb
55231 2023-04-12 17:59 k3-am642-centurysys-metis-01.dtb
7132 2023-04-12 17:59 k3-am642-centurysys-metis-ext-01.dtbo
7838 2023-04-12 17:59 k3-am642-centurysys-metis-ext-02.dtbo
579 2023-04-12 17:59 k3-am642-centurysys-metis-mod-01.dtbo
579 2023-04-12 17:59 k3-am642-centurysys-metis-mod-02.dtbo
--------- -------
105080370 11 files
user1@max3xx-devel:~/work$