私はARMボード(versatilepb)用のLinuxカーネル(2.6.32.70)をコンパイルしようとしています。これが組み込みLinuxの最初のステップです。
コンパイルが完了すると、2つの圧縮されたカーネルイメージがなく、ディレクトリに/arch/x86/boot
作成されるため、ARMゲストに対してコンパイルできないように見えます。/arch/i386/boot
/arch/arm/boot
まず、make versatile_defconfig
基本構成ファイルを生成するために呼び出します。また、make menuconfig
オプションを有効にするために入力しましたUse the ARM EABI to compile the kernel
。その後、make V=1
root権限でコンパイルしました(root権限がないと機能しません)。私の環境では、これら2つの変数$ARCH=arm
はととして定義されます$CROSS_COMPILE=arm-linux-gnueabi-
。
設定ファイルを生成した後もコンパイル中に問題がたくさん発生するのは正常ですか?問題は、カーネル圧縮モード、プロセッサファミリに関するものです。最後の問題の場合、同様のCPUであるx86だけが答えのようです!
答え1
ついに働いた。私のカーネルディレクトリがmake clean && make mrproper
。
アーカイブから抽出したカーネルソースから再起動した後は、make V=1
ルートなしで再起動できます。問題は発生しません。このディレクトリには、/arch/arm/boot
圧縮カーネルのイメージ(zImage)も含まれています。