学校プロジェクトでは、最新の安定したLinuxカーネルにシステムコールを追加する必要があります。私はこれを行い、make defconfig
カーネルを使用して再コンパイルしましたmake
。
カーネルを起動するためにいくつかのチュートリアルを経て(誰も動作しません)、ついに何かを見つけました。ここ(カーネルのx86_64バージョンに合わせて調整してください)。このチュートリアルではmkinitramfs -o file
。
問題は、この新しいカーネルでシステムコールをテストする必要がありますが、起動するとすぐにプロンプトにリダイレクトされ、(initramfs)
パッケージをインストールする方法か正しい解決策であるかがわからないことです。
私の質問 - >単純なCテストプログラムをコンパイルして実行し、システムコールが機能していることを確認するために、この仮想マシンからgccをどのように取得しますか?
答え1
まあ、誰かがこれを行う方法を疑問に思うなら、これが私がした方法です。 ->私のコンピュータでコンパイルし、私自身のinitramfsを作成しました(指示に従って)。ここ(gzipを使用しないでください。そうしないと、qemuは何とか読み込まれません)。
私はこれが理想的な解決策ではないことを知っています。私はテスト中のカーネルと私のコンピュータの両方がLinux x86_64なので動作しますが、選択肢はありません。
(gccをinitramfsに渡すにはこれをしないでください。コンパイル時にセグフォルトが発生します。)