変更された設定でカーネルを再構築すると、ファイルは/proc/config.gz
更新されませんmake menuconfig
。たとえば、カーネルを再構築しましたがBLK_DEV_IO_TRACE
正常に動作しましたが、有効にしたときにカーネルバイナリに含まれているカーネルソースのルートにそのファイルがconfig.gz
まだ表示されませんか# CONFIG_BLK_DEV_IO_TRACE is not set
?.config
CONFIG_IKCONFIG
ところで、それは事実であることがconfig.gz
判明しました。CONFIG_IKCONFIG=y
CONFIG_IKCONFIG=m
Android NDKスタンドアロンGCCツールチェーンを使用して構築しています。このカーネル(3.18 arm64).
メモ:
明確にすると、混乱を招くので、私の新しいカーネルが新しい設定で実行されていると確信しています。現在動作しており、多くのユーザー空間プログラムが依存する基本構成に対する長い変更のリストを有効にしました。
CONFIG_IKCONFIG=m
CONFIG_IKCONFIG_PROC=y
CONFIG_VETH=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_NFS_FS=m
CONFIG_NFS_V2=m
CONFIG_NFS_V3=m
CONFIG_NFS_V4=m
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_KEYS_DEBUG_PROC_KEYS=y
CONFIG_OVERLAY_FS=m
CONFIG_UTS_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_CLS_CGROUP=m
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NETFILTER_XT_MATCH_CGROUP=m
CONFIG_NETFILTER_NETLINK=m
CONFIG_ISO9660_FS=m
CONFIG_SQUASHFS=m
CONFIG_UDF_FS=m
CONFIG_UNIX_DIAG=m
CONFIG_PSTORE=y
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_DEBUG_FS=y
CONFIG_FTRACE=y
CONFIG_BLK_DEV_IO_TRACE=y
config.gz
現在のディスプレイLinux/arm64 3.18.71 Kernel Configuration
はですLinux/arm64 3.18.140 Kernel Configuration
。そして、これは実際の設定とカスタムカーネル開発者によって提供された最初に*defconfig
arch/arm64/configs/
config.gz
使用した設定で機能します。arch/arm64/configs/franco_mido_defconfig
答え1
この質問を投稿する前にさらに調査を行ったはずですが、何かが欠けている可能性があると思います。ちなみに、この質問は問題が私のカーネルソースコードに固有のものであることを示しています。カスタムカーネル開発者のサポート修理する常にカーネルバイナリに以前の設定を含めます。したがって、これをキャンセルする必要があります(危険がある場合は考慮)。
ifeq ($(CONFIG_MACH_XIAOMI_MIDO),y)
$(obj)/config_data.gz: arch/arm64/configs/mido_defconfig FORCE
else ifeq ($(CONFIG_MACH_XIAOMI_TISSOT),y)
$(obj)/config_data.gz: arch/arm64/configs/tissot_defconfig FORCE
else
$(obj)/config_data.gz: $(KCONFIG_CONFIG) FORCE
endif
答え2
生成されたカーネルオプションは/proc/config.gz
IKCONFIGだけでなくIKCONFIG_PROCです。そして、IKCONFIG_PROCはモジュールにすることはできません。
またkernel/configs/android-base.config
、があることに注意してくださいkernel/configs/android-recommended.config
。これは、特定のカーネル構成設定を上書きするために使用できます。https://lore.kernel.org/linux-arm-kernel/[Eメール保護]/
カーネルコンパイルプロセスでこのようなコマンドを使用する場合(上記のLinux-ARM-Kernelリストの投稿に記載されている例)
make ARCH=arm multi_v7_defconfig android-base.config android-recommended.config
これにより、このファイルが実際に使用されています。設定とを含みandroid-base.config
ます。CONFIG_IKCONFIG
CONFIG_IKCONFIG_PROC
y
あなたのツールチェーンが似たようなことをしていないことは確実ですか?
make ARCH=arm <oldconfig or some other config target> android-base.config
実際にカーネルビルドを始める前に?