build_firm.sh
スクリプトにより、ファームウェアファイルを作ることができます。
スクリプト本体は、ダウンロード: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
: 出力ファームウェアファイル名1)
実行例は下記のようになります。
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$