Dada una lista de características del kernel, quiero crear una configuración mínima de Linux que soporte todas las características dadas (y las dependencias correspondientes) pero nada más.
¿Hay alguna manera de crear un allnoconfig y una herramienta para habilitar funciones una por una?
(Podría editar el .config
archivo, pero esto no obtendría las dependencias correctas. Podría usarlo make *config
, pero que yo sepa, funcionan solo de forma interactiva o crean alguna configuración predeterminada).
Respuestas:
Si necesita hacerlo de forma no interactiva, puede usar make oldconfig o make olddefconfig. make * config arreglará las dependencias y esas no son tan detalladas como, digamos menuconfig. (De lo contrario, menuconfig está perfectamente bien para habilitar funciones una por una, ¡incluso incluye los textos de ayuda!)
make oldconfig le pedirá las opciones de configuración 'nuevas', por lo que deberá insertar comentarios como este para las opciones deshabilitadas si desea trabajar de forma no interactiva:
make olddefconfig por otro lado no parece preguntar, pero usa un valor predeterminado. También hay silentoldconfig, pero también pregunta en algunos casos, por lo que no es tan silencioso.
de hacer ayuda:
Descargo de responsabilidad: solo probé la prueba trivial de eliminar las opciones para algunas bibliotecas que sé que eran necesarias. Fueron agregados nuevamente por olddefconfig y oldconfig. No sé cómo se aplica esto a hacer una configuración más grande.
En cualquier caso, supongo que ya consideró usar make localmodconfig o algo así antes de comenzar esto. No he intentado hacer una configuración mínima en años, pero parece recordar que hubo algunas formas bastante obvias de crear núcleos totalmente inutilizables. :)
fuente
Desde el kernel 2.6.29 hay un script que puedes encontrar en
/kernel_extracted_dir/scripts/config
Por ejemplo
(Para dar crédito donde es debido, tomé el ejemplo de este blog )
Tiene las siguientes opciones (copiadas de la ayuda)
fuente