M5Stack LLMモジュール使ってみた -buildroot編-
- Digital1,000 JPY

M5Stack LLMモジュール使ってみた - buildroot編 - この薄い本は、まだ執筆途上です。 随時追記、修正していきます。 頒布価格、章立てや構成は更新で変更されることがあります。 (でも、もうあまり更新しない可能性が高いです) A5版PDF ・v0.2版発行: 2024年2月7日 本文82ページ 『12. [注意] 2ndロットのファームウエアの内容』、 『13. おまけのプロジェクト』を新設、 「あとがき」に追記しました。 ・v0.1版発行: 2024年2月4日 本文80ページ 頒布1000円 2025年1月27日に、LLMモジュールの buildroot が公開されました。 LLM_buildroot で公開されたソフトウエアは、LLMモジュールにインストールできるソフトウエア一式を自動作成するツールです。 実行すると、LLMモジュールに専用のツールで書き込み可能なインストールイメージファイルを作成します。 この本は、LLMモジュールに書き込むためのファームウエアを作成するためのツールの解説です。 読む方が、Linux のコマンドラインの操作ができることを前提にしています。 目次: 1. はじめる前に 1 2. ゴタクはいいからさっさとビルドさせろ 2 3. LLMモジュールのbuildrootが公開された 4 それって何ですか? 6 Buildrootって何? 7 4. SoC のLinux 起動の仕組み 8 1. ブートROM(BootROM)の実行 8 2. SPLの起動 10 3. メインブートローダの起動 11 さらなるハードウェア初期化 11 デバイスツリーとカーネルイメージの読み込み 11 kernel起動パラメータの設定 12 Linux kernelに処理を引き渡し 12 4. Linuxカーネルの起動 12 カーネル自身の内部初期化 12 デバイスドライバのロード 12 rootfs の用意 13 init プロセスの起動 13 5. ビルドに必要な環境を整える 14 Ubuntu Server 22.04.5 LTS をセットアップする 14 🌶 amd64環境でないと動かない 15 🌶 事前のパッケージインストールは不要 16 🌶 zipがいない... 17 🌶 simg2imgが足りない 17 🌶 simg2imgのパッケージがない 18 🌶 24.04.1では少しパッケージ足りない 19 🌶 ncursesライブラリが足りない 19 6. Buildroot の仕組み 21 Buildroot のビルドシステム 21 自動処理するファイル 21 config.in 21 *.mk 22 *.hash 22 *.patch 22 external.desc 23 自動処理されないファイル 23 フックスクリプト 23 その他のファイル 23 Buildrootの動作 23 設定のロード (Configuration) 24 ツールチェーンのビルド (Toolchain) 24 パッケージのビルド (Packages) 24 Linux kernel のビルド 25 ルートファイルシステムの構築 (Root Filesystem) 25 ブートローダーのビルド (Bootloader) 26 イメージの生成 (Image Generation) 26 クリーンアップ (Optional) 26 ステップごとのビルドディレクトリ 26 7. LLM_buildroot のファイル構造 27 プロジェクトのダウンロード 27 br2-externalメカニズム 27 configs 29 external.desc 29 package 30 m4projects 31 ax620e_bsp_sdk 31 tinyalsa_custom 32 config.in 37 board 37 🌶 board/m5stack/の下がいっしょくた 38 🌶 ライセンス不明のファイルがゴロゴロ... 38 docs 41 external.mk 42 linux 42 provides 43 toolchain 44 boot 46 LICENSE 47 🌶 MITライセンスと書かれているが... 47 README.md 48 tools 48 🌶 binにあるバイナリはライセンス不明でソースがない 50 その他の注意点 51 🌶 プロジェクトにはリリースもブランチもない 51 🌶 コミットメッセージが意味がない 51 🌶 ボードが同居しているので混乱が生じている模様 52 8. ビルドの実行 53 ビルド実行用のシェルスクリプト 53 creat_Module_LLM_buidlroot_image.sh の中身 55 ビルドに必要なパッケージのインストール 56 作業用ディレクトリの作成 57 buildroot 環境の作成 57 Buildrootの初期設定と実行 58 最小限のシステムイメージをビルドする 59 🌶 ホスト名をチェックする罠がある 59 🌶 -jオプションが無効になってしまう 60 🌶 ライセンス不明のバイナリ 60 🌶 さすがにこれはTypoでいいですよね? 61 ビルドの完了 61 Ubuntu イメージをビルドする 63 🌶 再ビルドにはトラップが... 63 🌶 放置では進まない... 66 Ubuntu イメージのビルドの完了 67 9. ビルドしたイメージの内容確認 69 axp ファイルに含まれているもの 69 rootfs_sparse.ext4 をマウントしてみる 70 10. Linux kernel のカスタマイズ 73 kernel 設定の変更 73 変更した設定を次回からも使う 77 設定を反映した buildroot の再実行 78 11. イメージの書き込み (未実施) 81 12. [注意] 2ndロットのファームウエアの内容 80 [NEW] 13. おまけのプロジェクト 82 [NEW]