Agregar una entrada al menú de grub que arranca en mi instalación actual pero con un nivel de ejecución diferente

Agregar una entrada al menú de grub que arranca en mi instalación actual pero con un nivel de ejecución diferente

Estoy ejecutando la última versión de Kubuntu (14.10) y me gustaría agregar una entrada de menú de grub2 que me permita iniciar directamente en un nivel de ejecución diferente. Me gustaría modificar /etc/rc3.do /etc/rc4.diniciar directamente en la línea de comando y no cargar X. Creo que la entrada del menú personalizado debería colocarse en /etc/grub.d/40_custom? Supongo que puedo copiar mi entrada de menú predeterminada en /boot/grub/grub.cfg? pero entonces, ¿cómo hago para que esta entrada arranque en un nivel de ejecución diferente?

¿Puedo agregar el comando telinit 3al final de la entrada del menú personalizado?

Cualquier ayuda sería apreciada :)

Respuesta1

El problema al agregar una entrada usando 40_customes que la entrada es estática: el contenido se copia tal cual grub.cfg, por lo que un nuevo kernel requiere volver a editar ese archivo. Con muy pequeños retoques en 10-linux, puede llegar update-gruba generar una entrada adicional para cada uno de los núcleos instalados. Editar /etc/grub.d/10_linux, y después de las líneas donde dice:

linux_entry "${OS}" "${version}" advanced \
            "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
  linux_entry "${OS}" "${version}" recovery \
              "${GRUB_CMDLINE_LINUX_RECOVERY} ${GRUB_CMDLINE_LINUX}"
fi

Añade otra llamada a linux_entry:

linux_entry "${OS}, runlevel 3" "${version}" advanced \
          "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT} 3"

(Seleccionar un nivel de ejecución es tan simple como agregar el número al final de las opciones, IIRC).


Efecto:

Entrada de menú en el submenú "Opciones avanzadas": entrada
El contenido de esa entrada: contenido

Por supuesto, normalmente los niveles de ejecución 2-5 son equivalentes, por lo que arrancar desde allí no me hizo ninguna diferencia, excepto:

$ runlevel
N 3

información relacionada