Un lugar para comenzar sería Buildroot .
¿Qué es? Es un conjunto de scripts / makefiles que le permite producir un sistema Linux literalmente desde cero. Despliega todos los componentes relevantes, construye el compilador cruzado en el host. - prácticamente todo.
Que está diseñado principalmente para el trabajo integrado - como tal, contiene uClibc en lugar de glibc y falta pasos de generación de muchos componentes, por ejemplo, Gnome y algunos entornos de escritorio - sin embargo, si usted está haciendo un CD en vivo que es absolutamente brillante. No se limita a los CD en vivo, por supuesto. Digo eso: viene con Qt incrustado.
La última versión estable viene con grub 0.97 que podría no cumplir con sus requisitos.
Menciono esto porque si bien Linux From Scratch es excelente porque le dice cómo completar todo el proceso, es largo, requiere mucho tiempo y requiere mucha paciencia. Buildroot podría adaptarse para incluir lo que sea necesario; Como experiencia de aprendizaje, la capacidad de usar los menuconfig
menús de estilo y obtener algo que arranque y funcione es excelente. También puede ver cómo hace todo antes de agregar funciones posteriores.
En términos de configuración de su núcleo, no puedo recomendar más encarecidamente tomar su configuración existente (generalmente disponible en /boot
), copiarla en el árbol del núcleo y .config
luego ejecutar make oldconfig
y pasar por las nuevas opciones. Las opciones predeterminadas están prácticamente garantizadas para funcionar desde su distribución; Si comienzas desde cero, puedes construir algo inutilizable.
/sbin/init
(a menos que esté configurado de otra manera). Este programa puede hacer lo que quieras. Hay algunas opciones comunes para usar/sbin/init
, como Upstart, sysvinit, systemd o simplemente bash. A partir de ahí, ese programa está en control. Si alguna vez sale, el núcleo se bloqueará, por lo que debería ser capaz de iniciar otros programas.