2009-09-12 41 views
10

x86ターゲット用のrootfsを構築しようとしています。しかし、buildrootが生成するカーネルをどのように設定するのか分かりません。最初の実行にはmenuconfigがありましたが、それ以来.configファイルがキャッシュされていて、どこを変更するのかわかりません。カーネルモジュールのBuildrootでLinuxカーネルを設定するにはどうすればよいですか?

〜650メガバイトは、組み込みターゲットに良いことをしない:P

はbuildroot以内にカーネルを構成するための簡単な方法はありますか? uclibc-menuconfigのようなものは完璧です。

+0

これは、より良いかもしれないhttp://ServerFault.com/またはhttp://SuperUser.com/で答えられるかもしれません。 – mctylr

答えて

2

そして答えは:

make linux26-menuconfig 
29

私は常に次のようにします。

  1. Linuxカーネルの設定:設定をmenuconfigを離れた後make linux-menuconfig
  2. をファイルに保存されます。output/build/linux-XYZ/.configXYZはあなたのカーネルバージョンです。その後
  3. 後でBuildrootでboard/your_kernel_config/.config
  4. にファイルoutput/build/linux-*XYZ*/.configをコピーすることができますが、カーネルの設定でカスタムカーネルコンフィグファイルを使用してパスを入力するように設定することができmenuconfigの:board/your_kernel_config/.config
+2

'make linux-xconfig'も同様に動作します。何かを検索すると、検索ウィンドウでそのアイテムを選択し、そのアイテムの場所にメインウィンドウを更新するという追加の利点があります。 –

2

はにdefconfigも設定することを忘れないでください。 menuconfigの中のi386:

Kernel —> 
    [*] Linux Kernel 
    (i386) Defconfig name 
0

BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILESは別の良いオプションです。

例えば、あなたがサブモジュールとしてbuildrootを使用している場合は、ディレクトリツリーは次のようになります。

例えば
.git/ 
buildroot/ 
.gitmodules 
kernel-config-frag 

CONFIG_DEBUG_FSをオンにし、実行します。その後、

echo 'CONFIG_DEBUG_FS=y' > kernel-config-frag 

としてbuildrootを設定します。

cd buildroot 
make qemu_x86_64_defconfig 
echo 'BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES=../kernel-config-frag' >> buildroot/.config 
make 

あなたがトラックにqemu_x86_64_defconfigとあなたの余分なコンフィグ間だけ差分をgitのことができるこの方法を。

私は、これは使用しています信じてscripts/kconfig/merge_config.shで述べたように、カーネルを形成:How do you non-interactively turn on features in a Linux kernel .config file?

あなたが設定フラグメントを変更した後だけで行うことを忘れないでください、:次のビルドの前に

rm -rf buildroot/output/build/linux-*.*.*/ 

最小限の実行可能な例は、時:https://github.com/cirosantilli/linux-kernel-module-cheat/blob/bb8f4eb79565c9771356c80e0964c8fefc163e11/kernel-config-frag

関連する問題