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.bs
deberí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/cmdline
incluso 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.img
archivo. No tengo tiempo para analizarlo completamente en este momento, pero supongo que initrd.xz
configura un disco RAM y carga el contenido root.img
allí, para que el CD pueda ser expulsado mientras uso Finnix.
Para obtener sus scripts dentro del root.img
archivo, 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 mksquashfs
comando (en squashfs-tools
el paquete) para crear una nueva imagen. archivo.