私は最近組み込まれたシェルを持つBusyBox v1.18.2を使用してSTMicroElectronics Base Distributionにアクセスしました。
STLinuxドキュメントから私の問題に関するすべての情報を読んで、すべての手順に従いました。
ディレクトリがなく、/home/STLinux
新しいディレクトリを作成しました。
# Step 2
[root@stlinux]# cp -r /opt/STM/STLinux-X.X/devkit/sources/kernel/linux-sh4/
BusyBox v1.18.2 (2011-07-13 20:52:52 CST) multi-call binary.
Usage: cp [OPTIONS] SOURCE DEST
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY
Options:
-a Same as -dpR
-R,-r Recurse
-d,-P Preserve symlinks (default if -R)
-L Follow all symlinks
-H Follow symlinks on command line
-p Preserve file attributes if possible
-f Overwrite
-i Prompt before overwrite
-l,-s Create (sym)links
# Step 3
[root@stlinux]#cd /home/STLinux/linux-sh4
-sh: cd: can't cd to /home/STLinux/linux-sh4
# Step 4
[root@stlinux]#make ARCH=sh CROSS_COMPILE=sh4-linux- vmlinux
-sh: make: not found
# Step 5
[root@stlinux]#make ARCH=sh CROSS_COMPILE=sh4-linux- help | grep ^mb
-sh: make: not found
# All other steps were associated with make.
# Step 9
[root@stlinux]#find . | grep "\.ko$"
[root@stlinux]#
# Step 10
[root@stlinux]# make ARCH=sh CROSS_COMPILE=sh4-linux- vmlinux
-sh: make: not found
これらのツールキットなしでカーネルを構築することは可能ですか?そうでない場合は、パッケージマネージャなしでどのようにインストールできますか?
答え1
残念ながら、STLinuxではSTLinuxカーネルをコンパイルできません。少なくともそうしないでください。リソースが制限された組み込みデバイスです。
あなたがしなければならないのは、他の(インテル)コンピュータにLinuxをインストールするか、カーネルをクロスコンパイルしてターゲットコンピュータにコピーすることです。
ところで、クロスコンパイルは、さまざまなアーキテクチャのマシンにバイナリ/ツールを構築する行為です。
投稿のCROSS_COMPILEディレクティブを見ると、あなたがフォローしているチュートリアルがデバイスで直接使用するために書かれていないことが明らかです。
たとえば、私はDebian JessieでARM NetBSDツールチェーン、バイナリ、カスタムカーネルをクロスコンパイルします。ツールキットをビルドするには、デフォルトの開発ツールを使用する必要があります。
その後、STLinuxにはツールキットにいくつかの追加があるようです。これにより、クロスコンパイラツールキットの新しいコンパイラと環境を使用してデフォルトのバイナリを生成します。
別の関連スレッドは次のとおりです。Linux DVRに別のディストリビューションをインストールする方法
また、私はあなたが何をしているのかわからず、新しいカーネルを正常にコンパイルしたかもしれないと思います。 ARM/Mips アーキテクチャには標準の Intel とは非常に異なる欠陥があり、これらの中国デバイスのコアはしばしばひどくハッキングされます。
しかし、あなたの質問に非常に短い答えをしたいのですが、あなたのデバイスで新しいカーネルをコンパイルすることはできません。 RAMとディスクは開発要求に応じて非常に制限されることが多い。