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.d
o /etc/rc4.d
iniciar 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 3
al final de la entrada del menú personalizado?
Cualquier ayuda sería apreciada :)
Respuesta1
El problema al agregar una entrada usando 40_custom
es 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-grub
a 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":
El contenido de esa entrada:
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