前言#
OpenWrt のファイル名形式が具体的に何を意味するのか、またどのように選択すればよいのかを説明します。背後にある論理を簡単に説明しますので、読み終えた後には正しい選択ができると信じています。
ファイルシステム、バージョン番号、形式を含む
SquashFS#
まず、SquashFS について簡単に理解しましょう。これは読み取り専用の圧縮ファイルシステムで、ファイルシステムのサイズを大幅に縮小できます。一般的には、組み込みシステムで使用され、ルーターも含まれます。
具体的には、SquashFS Overlay は二つの部分から構成されています:
- LOWER
これは基本の読み取り専用 SquashFS ファイルシステムで、オペレーティングシステムのすべてのデフォルトファイルを含んでいます。
- UPPER
これは書き込み可能なオーバーレイで、設定ファイルなど、書き込みアクセスが必要なすべてのファイルを置くために使用されます。
::: gallery
:::
OpenWrt が特定のファイルにアクセスする必要がある場合、最初に UPPER を検索し、見つからない場合は LOWER の読み取り専用 SquashFS にアクセスします。ファイルを書き込む必要がある場合は、UPPER オーバーレイに書き込みます。
このように、読み取り専用の SquashFS と書き込み可能な UPPER オーバーレイを組み合わせることで、OpenWrt は書き込み可能なルートファイルシステムを実現し、同時に SquashFS の空間効率と信頼性の利点を保持しています。
このアーキテクチャにより、OpenWrt はファームウェアのサイズが小さく、システムが安全で信頼性が高いという利点を持ちながら、実行時の設定変更も可能です。
しかし、欠点はほとんどのファームウェアが固定のストレージスペースを持っているため、通常はストレージスペースのサイズを拡張する操作が必要で、EXT4 パーティションを作成してマウントすることでストレージスペースを拡張します。
用途#
ここでは、三つのファームウェアの名前を用意しました。それぞれ CatWrt、Lean's LEDE、ImmoralWrt です。
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 Overlay を使用したファイルシステムです
rootfs0
はルートファイルシステムで、sqfs に似ていますがカーネルはありません
kernel1
はカーネルです
パーティションレイアウト#
::: warning
mt798x のみ使用可能で、UBOOT のサポートが必要です。ここでは Redmi AX6000 を例にします。
:::
stock layout
はオリジナルの OpenWrt パーティションで、a&b は最小のパーティションで、約 50-60 MB です;
OpenWrt U-Boot layout
は大きなパーティションバージョンで 110MB、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.net/posts/blog/format-openwrt