私はAngstromを実行しているAtmelSAM9Xシステムを持っています。リカバリパーティションを作成しようとしているので、起動中にユーザーがボタンを押したままにすると、リカバリパーティションが起動します。
ブートストラップを変更したので、起動時にボタンを押したままにすると、代替のLinuxカーネルがロードされます。私が欲しいのは、通常のメインパーティションではなく、リカバリブートパーティションからLinuxをロードするための代替カーネルです。
これも可能ですか?または、2つのカーネルを使用せずにリカバリパーティションをロードできますか?
これが必要な理由は、メインの起動可能なパーティションが破損した場合、リカバリパーティションがメインパーティションにコピーされ(リカバリパーティションを備えたDellまたはHP Windowsマシンと同様)、メインの起動可能なパーティションが復元されるためです。
>
編集 :
ジャイルズの提案がそれをしました。ブートストラップはカーネルコマンドライン引数を設定していました。root=/dev/mmcblk0p3
を追加しました。 (3番目のsdパーティションから起動)それに、目的のパーティションから起動しました!
承認された回答:
カーネルには、コンパイル時に決定されるデフォルトのルートパーティション設定が含まれています(rdev
を使用してバイナリイメージで変更できます)。 指図)。カーネルコマンドラインで引数を渡して、起動時にこのデフォルトを上書きできます。 root=/dev/mmcblk9p42
デフォルトではなく、MMCデバイス9パーティション42から起動します。コマンドラインはブートローダーによってカーネルに渡されるため、ブートローダーの構成を変更する必要があります。
initrdまたはinitramfsがある場合、ブートローダーでコンパイルまたは渡されたルートパーティションを上書きする可能性があります。