序文#
OpenWrt のファイル名形式の意味と選択方法について説明します。このロジックを簡単に説明し、読み終わった後に正しい選択ができるようになると信じています。
ファイルシステム、バージョン、形式を含む
SquashFS#
まず、SquashFS について簡単に説明します。SquashFS は読み取り専用の圧縮ファイルシステムであり、ファイルシステムのサイズを大幅に削減することができます。一般的には、組み込みシステム、ルーターなどの組み込みシステムで使用されます。
具体的には、SquashFS オーバーレイには 2 つの部分があります:
- LOWER
これは基本的な読み取り専用の SquashFS ファイルシステムであり、オペレーティングシステムのすべてのデフォルトファイルが含まれています。
- UPPER
これは書き込み可能なオーバーレイであり、設定ファイルなど、書き込みアクセスが必要なすべてのファイルを配置するために使用されます。
::: ギャラリー
:::
OpenWrt がファイルにアクセスする必要がある場合、まず UPPER で検索し、見つからない場合は読み取り専用の SquashFS である LOWER にアクセスします。ファイルの書き込みが必要な場合は、UPPER オーバーレイに書き込まれます。
このように、読み取り専用の SquashFS と書き込み可能な UPPER オーバーレイを組み合わせることで、OpenWrt は書き込み可能なルートファイルシステムを実現し、SquashFS のスペース効率と信頼性の利点を保持します。
このアーキテクチャにより、OpenWrt はファームウェアのサイズが小さく、システムが安全で信頼性が高いという利点を持ちながら、実行時の設定変更も行うことができます。
ただし、欠点として、ほとんどのファームウェアには固定のストレージスペースがあり、通常はストレージスペースのサイズを拡張する必要があります。ストレージスペースを拡張するために、EXT4 パーティションを作成してマウントすることが一般的です。
用途#
ここでは、CatWrt、Lean's LEDE、ImmoralWrt の 3 つのファームウェア名を用意しました。
CatWrt.v23.8.x86_64-squashfs-combined-efi.img.gz
openwrt-x64-R23.4.1-squashfs-combined-efi.img.gz
immortalwrt-23.05.1-x86-64-generic-squashfs-combined-efi.img.gz
CatWrt.v23.8.mt798x-filogic-xiaomi_redmi-router-ax6000-squashfs-sysupgrade.bin
CatWrt.v23.2.ARM-rockchip-armv8-fastrhino_r66s-squashfs-sysupgrade.img.gz
異なるファームウェア名は非常に明確ですので、ここでは詳細には触れません。
名前#
x86_64
とx64
は、コンピュータの x86 アーキテクチャの 64 ビットイメージであり、一般的なファームウェアは 32 ビットではありません。
R23.4
とv23.8
はバージョン番号を意味します。一致するほど新しいバージョンです。
generic
は一般的なバージョンを意味します。
combined
は、ブートシステムなどを含む統合版を意味します。
xiaomi_redmi-router-ax6000
とfastrhino_r68s
は製品名とモデルであり、x86 以外のモデルです。
mt798x-filogic
とramips-mt7621
はチップアーキテクチャまたは名前またはシリーズを指します。
起動とブート#
すべての新しいマシンで EFI を使用することをお勧めします。後続のチュートリアルは基本的に EFI を前提としています。
新しいマシンでは UEFI がデフォルトで有効になっており、BIOS バージョンをインストールするとブートが停止する場合があります。UEFI を有効にする方法については、マシンの販売業者のカスタマーサポートにお問い合わせください。
squashfs-combined
は従来の BIOS ブートを意味します。
squashfs-combined-efi
は EFI ブートを意味します。
EFI は UEFI よりも古いバージョンであり、ハイビジョンブートをサポートしています。古いハードウェアや仮想マシンでは、従来の BIOS ブートが便利です。一般的な BIOS バージョンには追加のマークがありません。
形式#
rootfs.img.gz
ファイルは Docker や LXC コンテナに使用されるファイルであり、システムをコンテナ化して展開することができます。
img.gz
ファイルは圧縮ファイルであり、img ファイルに展開することができます。ネットワークの負荷を軽減するためにダウンロード時に使用され、オンラインアップグレード時にインストールと組み合わせて使用されます。
img
ファイルは物理マシンの単一のシステムまたは仮想マシンのディスクに書き込むためのイメージであり、最も一般的な形式です。
IMG 書き込みツールを使用して WEPE でインストールすることをお勧めします。または、StarWind V2V Converterを使用して仮想マシンでインストールすることもできます。
vmdk
ファイルは VMware 仮想マシンの仮想ハードディスクファイルであり、他のシステムでも使用できます(PVE)。
qcow2
ファイルは PVE または KVM 仮想マシンの仮想ハードディスクファイルであり、PVE にインポートして RAW ファイルに変換して使用できます。
vhdx
ファイルは hype-v 仮想マシンの仮想ハードディスクファイルであり、ホストマシンが Windows Pro プロフェッショナルエディションである場合に使用できます。
bin
はバイナリイメージファイルです。
initramfs-kernel
は一時ファイルシステムであり、Linux カーネルに基本機能が含まれています。SquashFS フルバージョンを上書きするためにシステムで使用されます。
squashfs
は SquashFS オーバーレイを使用したファイルシステムです。
パーティションレイアウト#
::: 警告
mt798x 専用で、UBOOT のサポートが必要です。ここでは Redmi AX6000 を例に説明します。
:::
stock layout
は元の OpenWrt パーティションで、a&b は最小のパーティションであり、約 50-60MB です。
OpenWrt U-Boot layout
は大きなパーティションバージョンで、CatWrt が使用しています。
custom U-Boot layout
または ubootmod とも呼ばれ、大きなパーティションバージョンよりもわずかに大きいです(122.5MB)、NMBM を含みません。
組み合わせ#
CatWrt.v23.8.x86_64-squashfs-combined-efi.img.gz
= CatWrt リリースの Openwrt の v23.8 バージョン(23 年 8 月リリース)、x86 64 ビットアーキテクチャに適したファイルシステムは sqfs の組み合わせファームウェアで、EFI ブート(ハイビジョンブート)を使用し、img でパッケージ化され、最終的に gz で圧縮されます。
CatWrt.v23.8.mt798x-filogic-xiaomi_redmi-router-ax6000-squashfs-sysupgrade.bin
= CatWrt リリースの Openwrt の v23.8 バージョン(23 年 8 月リリース)、mt798x チップ(ここでの x は mt79 のさまざまなプロセッサのコレクションを指します)に適したファームウェアで、Redmi AX6000 の sqfs ファームウェアを UBOOT またはシステムのアップグレードでアップグレードします。
この記事はMix Spaceから xLog に同期して更新されました。
元のリンクはhttps://www.miaoer.xyz/posts/blog/format-openwrt