Uso en el mundo real del init "sinit" de suckless

Uso en el mundo real del init "sinit" de suckless

Estoy intentando configurarsinitcomo initpara Linux (en una PC...). Mi objetivo en este momento es simplemente ejecutar un sencillo tty/bash. No se requiere ningún montaje especial ya que el kernel ya tiene un root=/dev/sda2archivo cmdline.

Tengo sinitbinario como mi /sbin/inity no estoy seguro de qué hacer a continuación. Sé que es necesario colocar algunos scripts, pero no entiendo cómo sinitdebería poder ejecutarlos o asociarlos con bash.

Respuesta1

La página de manual incluida sinit.8 y el archivo README son muy explicativos para mí. Sin embargo, una introducción rápida para usted mientras busco la fuente:

  • ejecutable principal de sinit, /sbin/initel kernel lo inicia como pid 1
  • prepara el entorno inicial para ejecutar /bin/rc.initel script como proceso secundario independiente
  • se ejecuta /bin/rc.initcomo un proceso separado, por lo tanto, /bin/rc.initcontiene comandos para inicializar el sistema más allá de ese punto
  • entra en un bucle infinito donde detecta cualquier proceso zombificado y lee sus códigos de salida en ninguna parte
  • Mientras está en un bucle infinito, sin embargo, puede ser interrumpido por señales. Las señales que define para escuchar son SIGUSR1 y SIGINT. SIGUSR1 obliga a init a ejecutarse /bin/rc.shutdowncomo poweroffnombre de script, mientras que SIGINT obliga a init a ejecutar el mismo script con rebootnombre, para distinguir los modos de operación dentro del script. Tenga en cuenta que esas dos señales son sólo las que init escucha, cualquier cosa,incluidoSIGKILL y SIGSTOP los ignorará. Y sólo el superusuario puede enviar señales a init. SIGINT es generado por el kernel cuando presiona Ctrl-Alt-Delete, pero solo cuando se dice así (hay una llamada al sistema especial que generalmente realiza el proceso init, para permitir el envío de SIGINT en cad)

Entonces, fuera de esto, sinitno provee:

  • scripts de inicio (debe escribir los suyos propios o adaptar los proporcionados por su distribución)
  • formas de control (como niveles de ejecución), sólo dos comandos simples

Sin embargo, sinit es un lindo y pequeño inicio que funciona. Apuesto a que es muy bueno en sistemas integrados, así como en sistemas de escritorio simples sin problemas con los entornos de escritorio modernos.

Respuesta2

Resulta que el kernel de LinuxanalizaelEl asuntopor sí mismo.

Por lo tanto, cualquier script "Shebanged" (con ruta completa para archivos binarios) podría usarse para sinit.

información relacionada