1

コンテンツに応じてパーティションを設定したいと思います。システムの起動中に、フラッシュ領域にデータが含まれているかどうかを確認したいと思います。true の場合 - 読み取り専用または再書き込み可能にします。

U-boot シェルなしで自動的に作成したい...

Linux カーネル レベルでは、パーティション テーブルで静的にしか作成できません。U-bootでそれを行うことは可能ですか?

ヒントをありがとう。

更新: CmdLine と mtd_partition がチェックされました

2 つの可能性を確認しました: U-boot mtd-parts

U-Boot> 
setenv mtdparts mtdparts=atmel_nand:2M@0x40000(u-boot),30M@0x200000(kernel),-@0x2000000(user),**0x20000@0x100000(u)**

U-Boot>
mtdparts

パーティションがいっぱいになった後は、パーティションは許可されません

残念ながら、テーブルにパーティションを追加することはできません。データがエリアに存在する場合、mtd4 を別のパーティションとして使用したいと考えています0x100000

カーネル mtd_partition テーブルで可能です。ただし、このテーブルは arch/arm... board ファイルで宣言されています (初期の起動段階)。このスタートアップ段階では、nand を読み取ることができません。nand ドライバーが提供する nand 読み取りインターフェースにアクセスできません。

更新: 解決策

すべてのヒントをありがとう。「芸術のないノイズ」のヒントに従って、u-boot の nand 領域を読み取り、さまざまなカーネル コマンド ライン引数を介して有用なパラメーターを送信することにしました。これは非常に柔軟です。他の一部のハードウェア構成はフラッシュに保存して、カーネルの初期化に使用できます。

カーネル パラメーターのキャッチは、次の方法で実行できますearly_param()

4

0 に答える 0