次のコマンドを使用して、カスタムARMベースのボードの指定されたアーキテクチャデフォルトに基づいてLinuxカーネル.config
ファイルを作成できます。
Arch=arm make defconfig KBUILD_DEFCONFIG=var_som_mx6_Android_defconfig
このコマンドは多かれ少なかれ./Arch/arm/configs/var_som_mx6_Android_defconfig
を./.config
にコピーすると思いました。ただし、結果の.config
ファイルは正確なコピーではありません。
$ diff --unified Arch/arm/configs/var_som_mx6_Android_defconfig .config
--- Arch/arm/configs/var_som_mx6_Android_defconfig 2017-01-20 12:10:51.891515984 -0800
+++ .config 2017-01-26 15:31:29.000000000 -0800
@@ -407,6 +407,7 @@
CONFIG_ARM_ERRATA_751472=y
CONFIG_ARM_ERRATA_794072=y
CONFIG_ARM_ERRATA_761320=y
+CONFIG_ARM_ERRATA_845369=y
# CONFIG_ARM_ERRATA_753970 is not set
CONFIG_ARM_ERRATA_754322=y
# CONFIG_ARM_ERRATA_754327 is not set
@@ -2683,7 +2684,6 @@
CONFIG_AUTOFS4_FS=y
CONFIG_Fuse_FS=y
# CONFIG_CUSE is not set
-CONFIG_AUFS_FS=y
#
# Caches
@@ -2759,6 +2759,21 @@
# CONFIG_PSTORE is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
+CONFIG_AUFS_FS=y
+CONFIG_AUFS_BRANCH_MAX_127=y
+# CONFIG_AUFS_BRANCH_MAX_511 is not set
+# CONFIG_AUFS_BRANCH_MAX_1023 is not set
+# CONFIG_AUFS_BRANCH_MAX_32767 is not set
+CONFIG_AUFS_SBILIST=y
+# CONFIG_AUFS_HNOTIFY is not set
+# CONFIG_AUFS_RDU is not set
+# CONFIG_AUFS_PROC_MAP is not set
+# CONFIG_AUFS_SP_IATTR is not set
+# CONFIG_AUFS_SHWH is not set
+# CONFIG_AUFS_BR_RAMFS is not set
+# CONFIG_AUFS_BR_Fuse is not set
+CONFIG_AUFS_BDEV_LOOP=y
+# CONFIG_AUFS_DEBUG is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
私は余分な行がどこから来ているのか理解できず、カーネル構成、メイクファイル、ビルドスクリプトの内部動作が理解しにくいことを常に見つけてきました。 .config
のこれらの行がどこから来たのか、誰でも説明できますか?
また、include/generated/autoconf.h
。
このヘッダーファイルは、Cソースファイルに含まれています。一方、 .config
はMakefileシステム用です。
ビルドシステムは2つのファイルを生成し、一貫性を保ちます。