banner
miaoer

miaoer

喵二の小博客 https://www.miaoer.net xLog 分站
tg_channel
telegram
bilibili

OpenWrt ファイル名形式、ファームウェアをインストールする前に理解する

前言#

OpenWrt のファイル名形式が一体何を意味するのか、そしてどのように選択すべきかについて説明します。背後にある論理を簡単に説明しますので、読み終えたら正しい選択ができると信じています。

ファイルシステム、バージョン番号、形式を含む

SquashFS#

まず、SquashFS は読み取り専用の圧縮ファイルシステムであり、ファイルシステムのサイズを大幅に縮小できます。一般的には、組み込みシステム、特にルーターに使用されます。

具体的には、SquashFS Overlay は 2 つの部分から構成されています:

  • LOWER

これは基本の読み取り専用 SquashFS ファイルシステムで、オペレーティングシステムのすべてのデフォルトファイルを含んでいます。

  • UPPER

これは書き込み可能なオーバーレイで、設定ファイルなど、書き込みアクセスが必要なすべてのファイルを置くために使用されます。


::: gallery
1
2
:::


OpenWrt が特定のファイルにアクセスする必要がある場合、最初に UPPER を検索し、見つからない場合は LOWER の読み取り専用 SquashFS にアクセスします。ファイルを書き込む必要がある場合は、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_64x64 はコンピュータの x86 アーキテクチャの 64 ビットイメージで、一般的にファームウェアは 32 ビットではありません;

R23.4v23.8 はバージョン番号を意味し、数字が一致するほど新しいです;

generic は汎用バージョンを意味します;

combined はブートシステムなどを含む合成版を意味します;


xiaomi_redmi-router-ax6000fastrhino_r68s は製品名とモデルで、非 x86 型です;

mt798x-filogicramips-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 ファイルは hyper-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-60MB に折りたたまれます;

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 バージョン(2023 年 8 月リリース)、適用アーキテクチャは x86 64 ビット、ファイルシステムは sqfs の組み合わせファームウェアで、EFI を使用してブート起動(高解像度起動)、img でパッケージ化され、最終的に gz で圧縮されています。

CatWrt.v23.8.mt798x-filogic-xiaomi_redmi-router-ax6000-squashfs-sysupgrade.bin

= CatWrt リリースの Openwrt の v23.8 バージョン(2023 年 8 月リリース)、適用チップ mt798x、ここでの x は mt79 のさまざまなプロセッサの集合を指し、Redmi AX6000 の sqfs ファームウェアで、UBOOT またはシステムのアップグレード中にアップグレードされます。

この記事は Mix Space によって xLog に同期更新されました
元のリンクは https://www.miaoer.net/posts/blog/format-openwrt


読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。