ファームウェアの作成


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$ 

引数として、下記を指定します。


実行例は下記のようになります。

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$ 
1)
省略可: 省略時、カレントディレクトリに “firmware_YYYYMMDD_hhmmss.img” 形式で作成します