Traté de hacer un sistema operativo con mi núcleo personalizado. No funcionó muy bien. Estoy usando Ubuntu y he descargado Linux 3.2.7 desde kernel.org. No estoy tratando de cambiar el kernel en mi sistema Ubuntu. Quiero hacer mi propio sistema operativo con Grub, el kernel de Linux y quiero poder tener este sistema operativo casero en un tipo de archivo (como iso) que pueda poner en un CD y arrancar en otra computadora. Mi pregunta es: ¿qué necesito exactamente para hacer este sistema operativo? Cualquier comentario o tutoriales sería útil.
9
/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.Respuestas:
Esto es lo que está buscando: http://www.linuxfromscratch.org/
fuente
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 ejecutarmake 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.fuente
Lo mínimo que necesita es el kernel y algunos procesos que puede ejecutar como init, junto con los cargadores y bibliotecas necesarios para el proceso init. Arrancas el kernel diciéndole que ejecute el proceso de inicio, y a dónde va allí está tu negocio.
fuente