組み込みLinuxでリカバリパーティションを作成する

組み込みLinuxでリカバリパーティションを作成する

Angstromを実行するAtmel SAM9Xシステムがあります。ユーザーが起動中にボタンを押し続けると、回復パーティションが起動するように回復パーティションを作成しようとします。

起動時にボタンを押し続けると、代替Linuxカーネルがロードされるようにブートローダを修正しました。私が望むのは、通常のプライマリパーティションではなく回復ブートパーティションから代替Linuxカーネルをロードすることです。

可能ですか?それとも、2つのコアを使用せずに回復パーティションをマウントできますか?

これを実行しようとする理由は、プライマリブータブルパーティションが破損した場合、リカバリパーティションがプライマリパーティション(回復パーティションを持つDellまたはHP Windowsシステムと同様)に独自にコピーされ、プライマリブータブルパーティションが復元されるためです。

編集する
ギルスの提案が成功しました。ブートローダがカーネルコマンドラインパラメータを設定しています。追加したばかりのroot=/dev/mmcblk0p3(3番目のSDパーティションから起動)、目的のパーティションから起動します!

ベストアンサー1

カーネルには、コンパイル時に決定されたデフォルトのルートパーティション設定が含まれています(コマンドを使用してバイナリイメージでこれを変更できますrdev)。カーネルコマンドラインに引数を渡すことで、起動時にこのデフォルト値を上書きできます。たとえば、root=/dev/mmcblk9p42デフォルトではなく MMC デバイス 9 パーティション 42 から起動するように設定できます。コマンドラインはブートローダによってカーネルに渡されるため、ブートローダの設定を変更する必要があります。

initrdまたはinitramfsがある場合は、ブートローダーがコンパイルまたは渡したルートパーティションを上書きできます。

おすすめ記事