それぞれ2つのパーティションを持つ2つのHDDイメージファイルがあります。
各イメージでは、最初のパーティションは grub ブートパーティションであり、2 番目のパーティションにはファイルとカーネルが含まれています。最初のイメージの2番目のパーティションには2.4カーネルが含まれ、2番目のイメージの2番目のパーティションには2.6カーネルが含まれています。
2.4カーネルとファイル、または2.6カーネルとファイルを起動することを選択できるように、1つのドライブに挿入しようとしています。
最初のイメージをドライブに書き込み、gpartedを使用して2番目のイメージの2番目のパーティションをドライブにコピーし、3つのパーティション(grub、2.4、2.6)を持つようになりました。
ルート、カーネルなどのパーティションとして(hd0、2)を使用してgrubブートエントリを追加し、cmdlineと思われるエントリにroot = / dev / hda3を追加しました。
最初の grub エントリは最初のパーティションで動作しますが、2 番目のパーティションを実行しようとすると起動しますが、ファイルにアクセスできないように見え、/dev/hda をチェックすると DMA エラーが発生します。これにより、特定のファイルを書き込みまたは読み取ることができないため、アプリケーションが失敗します。
反対の方法を試して最初のイメージをイメージし、最初のイメージのパーティションを追加すると同じエラーが発生します。作成した最初のイメージは起動できますが、コピーされたパーティションは起動できません。
私はカーネル2.4 / 2.6を実行している非常に閉鎖的なシステムでこれを試しているので、破棄できる量は限られていますが、後で必要に応じて写真を撮って特定のDMAエラーを読むことができます。
答え1
私は問題を解決し、それが珍しい問題ですが、私が作業しているシステムと同じくらい簡単に書かれた組み込みシステムで作業したい人に役立ちます。
起動すると、initrd(初期RAMディスク)イメージがマウントされ、ルートディレクトリにあるlinuxrcというファイルが実行されます。このファイルはHDDパーティションをマウントし、オペレーティングシステムを起動するのに役立ちます。私の場合、通常はcmdlineでroot =で定義されたパーティションをマウントする行がコメントアウトされ、常に/ dev / hda2を静的にマウントする行が追加されたため、おそらく起動しないようです。