Eu gostaria de construir o kernel oficial do Raspberry Pi. Mas eu quero mudar um recurso durante o processo.
Basicamente, estou seguindo este tutorial: link
E em algum momento ele diz que você deve executar make menuconfig
, que abre um menu no qual você pode navegar para selecionar / alterar os recursos que você deseja para o kernel. Gostaria de definir Kernel Features → Preemption Model
para Fully Preemptible Kernel (RT)
, mas não quero fazer isso manualmente, gostaria de fazer isso com um script bash.
Eu não posso simplesmente fazer isso manualmente uma vez e depois copiar o arquivo de configuração resultante porque quando um novo kernel é lançado, o arquivo de configuração pode não ser mais válido. Então eu sempre quero ter os recursos padrão para o kernel atual + a única modificação.
Quando eu gero a configuração padrão e a configuração personalizada e comparo a mesma, eu recebo este resultado:
-CONFIG_TREE_RCU=y
+CONFIG_PREEMPT_RCU=y
-# CONFIG_TASKS_RCU is not set
+CONFIG_TASKS_RCU=y
-# CONFIG_RT_GROUP_SCHED is not set
-CONFIG_SLUB_CPU_PARTIAL=y
-CONFIG_OPROFILE=m
-CONFIG_JUMP_LABEL=y
-# CONFIG_STATIC_KEYS_SELFTEST is not set
CONFIG_HAVE_ARCH_JUMP_LABEL=y
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-CONFIG_INLINE_READ_UNLOCK=y
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-CONFIG_INLINE_WRITE_UNLOCK=y
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-CONFIG_MUTEX_SPIN_ON_OWNER=y
-CONFIG_RWSEM_SPIN_ON_OWNER=y
-CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_PREEMPT=y
+CONFIG_PREEMPT_RT_BASE=y
+CONFIG_PREEMPT_LAZY=y
-CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT_RT_FULL is not set
+CONFIG_PREEMPT_RT_FULL=y
+CONFIG_PREEMPT_COUNT=y
-CONFIG_NET_RX_BUSY_POLL=y
-CONFIG_BCACHE=m
-# CONFIG_BCACHE_DEBUG is not set
-# CONFIG_BCACHE_CLOSURES_DEBUG is not set
-CONFIG_LEDS_TRIGGER_CPU=y
+CONFIG_DEBUG_PREEMPT=y
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-CONFIG_RING_BUFFER_ALLOW_SWAP=y
+# CONFIG_PREEMPT_TRACER is not set