非常に具体的な要件があります。 Flashのコンテンツを部分的に置き換えることです。そしてMTDパーティション境界を移動します。
現在の地図は次のとおりです。
u-boot 0x000000 0x040000
u-boot-env 0x040000 0x010000
kernel 0x050000 0x230000
initrd 0x280000 0x170000
scripts 0x3f0000 0x010000
filesystem 0x400000 0xbf0000
firmware 0xff0000 0x010000
希望の出力は次のとおりです。
u-boot 0x000000 0x040000
u-boot-env 0x040000 0x010000
kernel 0x050000 0x230000
filesystem 0x280000 0xd70000
firmware 0xff0000 0x010000
これはinitrd
、ある領域に縮小され、scripts
他filesystem
の領域が残ることを意味します。
問題は、これが実行中のシステム(「以前の」構成で始まる)で達成される必要があることです。そして再起動する前に、カーネルと「新しい」ファイルシステムを再構築する必要があります。
システムが組み込まれていて、動作するスペースがほとんどありません(しかしSDカードはあります)。
もちろん、書き換えられたカーネルはDTBに「新しい」設定を記録します。
問題は転換である。
注:私は見たことがありますこの問題しかし、非常に古く、カーネルパッチが必要であるという欠点があります。私はこれを避けたいです。