Disco de arranque ISOLINUX Live: ejecución de scripts desde el menú

Disco de arranque ISOLINUX Live: ejecución de scripts desde el menú

Estoy intentando crear un disco de arranque de Linux (elegí Fennix debido al tamaño pequeño y a la interfaz de solo terminal), ahora tengo el disco de arranque funcionando y me carga en Linux y puedo montar el disco duro interno, etc., así que todo bien. allí, sin embargo, tengo el Menú funcionando a través de ISOLINUX.CFG pero quiero adjuntar un script a cada selección de menú, el script copiará 2 archivos al HDD desde el disco Live, estoy luchando para que el Menú inicie los scripts. init= ya que nunca parece encontrar los archivos de script en el disco (no estoy seguro de dónde colocarlos para acceder a ellos, probé con varios directorios).

Ejemplo de opción de menú a continuación

ETIQUETA finnix

ETIQUETA DEL MENÚ Instalar Actualización

AYUDA DE TEXTO

Copia los 2 archivos ini a tu disco duro

TEXTO FINAL

Arranque KERNEL/x86/linux init=copy1.bs

APPEND initrd=boot/x86/initrd.xz vga=791 nomodeset silencioso

¿Alguien puede indicarme la dirección correcta sobre cómo acceder a los archivos desde el LiveCD una vez iniciado y cómo se puede actualizar el menú para acceder a estos archivos de script cuando se ha realizado una selección?

Espero que lo anterior tenga sentido,

¡Gracias!

Respuesta1

En isolinux.cfg, las opciones de arranque van a la línea APPEND, no a la línea KERNEL. Entonces init=copy1.bsdeberías ir a la línea APPEND.

Y si usa la init=opción, significa ejecutar su script de shell como proceso #1: en lugar de configurar el entorno normal con, por ejemplo, múltiples consolas virtuales, solo ejecutará ese script... y una vez que ese script salga, el kernel pánico (= bloqueo) cuando el proceso n.° 1 murió.

Dependiendo de cómo esté construido exactamente el archivo initrd de Finnix, el uso de la init=opción también podría iniciar sus scripts en una situación en la que necesitarían duplicar parte o toda la funcionalidad de los scripts de inicio de Finnix antes de que realmente puedan hacer algo útil.

Es posible que desees inventar tu propio parámetro de arranque personalizado. Los parámetros de arranque aparecerán /proc/cmdlineincluso si son desconocidos para el kernel, y usted puede simplemente crear un script de inicio que lea /proc/cmdline, seleccione el valor de su parámetro personalizado desde allí y luego lo use para ejecutar otro script en la ubicación que elija. . Este enfoque podría ser más fácil de depurar que utilizar el init=parámetro estándar.

El sistema de archivos raíz de Finnix parece estar dentro del finnix/arch/x86/root.imgarchivo. No tengo tiempo para analizarlo completamente en este momento, pero supongo que initrd.xzconfigura un disco RAM y carga el contenido root.imgallí, para que el CD pueda ser expulsado mientras uso Finnix.

Para obtener sus scripts dentro del root.imgarchivo, debe montar el archivo de imagen (es una imagen del sistema de archivos squashfs), copiar el contenido a algún otro directorio, agregar sus propios archivos y luego usar el mksquashfscomando (en squashfs-toolsel paquete) para crear una nueva imagen. archivo.

información relacionada