Cプログラムをinitファイルと統合するには?

Cプログラムをinitファイルと統合するには?

だから私はbusyboxを使って最小限のオペレーティングシステムを構築しようとしています。私が望むのは、BIOSで.netプログラムを実行したいことです。しかし、Linuxが.netプログラムを実行するかどうかはわかりませんので、パスをクリーンアップするために.netプログラムの代わりにCプログラムを使用します。 initrd.img ファイルを正常に作成しています。今initrd.imgファイルを生成する前に。私のものを統合したいこんにちはc初期化ファイルを使用してプログラムします。

このコマンドは、ファイルを読み込み、Cプログラムコードを正常に読み取るために使用されました。echo 'cat /etc/hello.c' >> init

今これを実行したいと思います。こんにちはc。だから私は次のコマンドを実行してみましたが、catコマンドどおりに機能しません。

echo 'gcc -o echo /etc/hello.c' >> init
echo 'chmod +x echo' >> init
echo './echo' >> init

私が受け取ったエラーは次のとおりです。

/init: line 6: gcc: not found
chmod: echo: No such file or directory
/init: line 8: ./echo: not found

答え1

gccinitrdにスクリプトがないため、スクリプトは失敗します。

hello.cinitrdに投稿しないでください。プログラムをビルドして公開する必要があります。それしかしあなたのinitrdでは。プログラムを実行しようとするときは、プログラムのフルパスも指定する必要があります。

関連情報