Files
rm-MULTIBOOT/docs/plan/01_pruebas-vm-virtualbox.md
T
Ricardo MonlaandClaude Sonnet 4.6 2e48ba0064 docs: agregar plan de pruebas en VM VirtualBox (plan 01)
docs/plan/01_pruebas-vm-virtualbox.md — 6 fases con metodología de
mejora continua: cada fase cierra con Conclusión y Hallazgos que
sirven de input para replantear la fase siguiente antes de ejecutarla.

Fases:
  1. Preparación del entorno VirtualBox
  2. Ejecución del setup inicial
  3. Catálogo y descarga de ISOs
  4. Arranque desde GRUB
  5. Casos borde y condiciones adversas
  6. Correcciones, optimizaciones y cierre

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 18:03:41 -03:00

10 KiB
Raw Blame History

Plan 01 — Pruebas en entorno controlado (VirtualBox)

Proyecto: rm-MULTIBOOT
Autor: Lic. Ricardo MONLA
Fecha de inicio: 2026-06-06
Estado general: 🔲 En preparación


Objetivo

Validar el comportamiento del script rm-multiboot.sh en un entorno controlado antes de usarlo en equipos reales. El entorno es una VM Linux en VirtualBox sobre el equipo local, donde se simula el flujo completo: setup, descarga de ISOs, generación de entradas GRUB y arranque desde el menú multiboot.


Metodología — Mejora continua por fases

Cada fase tiene:

  • Tareas con casillas para marcar al completarlas.
  • Notas de ejecución donde se registra lo que pasó realmente.
  • Conclusión y hallazgos que se completa al cerrar la fase.

Los hallazgos de cada fase son input obligatorio para revisar y ajustar las fases siguientes antes de ejecutarlas. No se avanza a la fase N+1 sin haber completado la sección de conclusión de la fase N.

Fase 1 ──→ [Conclusión] ──→ Replanteo Fase 2
Fase 2 ──→ [Conclusión] ──→ Replanteo Fase 3
...y así sucesivamente

Fases


FASE 1 — Preparación del entorno VirtualBox

Estado: 🔲 Pendiente
Objetivo: Tener una VM Linux operativa con disco configurado para simular un equipo real con espacio libre disponible para crear la partición MULTIBOOT.

Especificaciones de la VM

Parámetro Valor sugerido
Nombre rm-multiboot-test
SO base Debian 12 o Ubuntu 24.04
RAM 2048 MB
CPU 2 núcleos
Disco principal 40 GB (deja ~20 GB sin particionar)
Red NAT (con acceso a internet para descargar ISOs)
Modo firmware BIOS Legacy primero, luego repetir en UEFI

Tareas

  • 1.1 Crear la VM en VirtualBox con las especificaciones indicadas
  • 1.2 Instalar el SO base dejando al menos 15 GB sin asignar en el disco
  • 1.3 Verificar con lsblk -f que hay espacio libre sin particionar
  • 1.4 Instalar dependencias necesarias en la VM:
    sudo apt install -y git curl wget parted e2fsprogs
    
  • 1.5 Verificar acceso a internet desde la VM:
    curl -Is https://raw.githubusercontent.com | head -1
    
  • 1.6 Tomar snapshot de VirtualBox con nombre 00-base-limpia
  • 1.7 Clonar el repositorio dentro de la VM:
    git clone https://github.com/ricardomonla/rm-MULTIBOOT.git ~/rm-MULTIBOOT
    

Notas de ejecución

[ espacio para registrar lo que ocurrió, comandos ejecutados, salidas relevantes ]

Conclusión y hallazgos

# Hallazgo Impacto en fase siguiente
(pendiente)

¿Se ajusta el plan de la Fase 2? 🔲 Sí / 🔲 No
Ajustes realizados: (ninguno hasta completar esta fase)


FASE 2 — Ejecución del setup inicial

Estado: 🔲 Pendiente
Prerequisito: Fase 1 completada y hallazgos revisados.
Objetivo: Verificar que el wizard de setup detecta correctamente el sistema, encuentra el espacio libre, crea la partición MULTIBOOT y la integra en GRUB.

Tareas

  • 2.1 Ejecutar el script como root y registrar la salida de detección:
    sudo ~/rm-MULTIBOOT/rm-multiboot.sh
    
  • 2.2 Verificar que la detección muestra correctamente:
    • Modo de arranque (BIOS/UEFI)
    • SO detectado
    • Disco principal correcto
    • Espacio libre identificado
  • 2.3 Completar el wizard de setup asignando al menos 15 GB
  • 2.4 Verificar resultado post-setup:
    lsblk -f
    grep MULTIBOOT /etc/fstab
    ls /mnt/multiboot/
    cat /etc/grub.d/41_multiboot
    
  • 2.5 Verificar que GRUB fue actualizado sin errores:
    grep -i multiboot /boot/grub/grub.cfg
    
  • 2.6 Tomar snapshot: 01-post-setup

Notas de ejecución

[ espacio para registrar lo que ocurrió ]

Conclusión y hallazgos

# Hallazgo Impacto en fase siguiente
(pendiente)

¿Se ajusta el plan de la Fase 3? 🔲 Sí / 🔲 No
Ajustes realizados: (ninguno hasta completar esta fase)


FASE 3 — Prueba de catálogo y descarga de ISOs

Estado: 🔲 Pendiente
Prerequisito: Fase 2 completada y hallazgos revisados.
Objetivo: Verificar la descarga desde el catálogo (GitHub), el progreso en pantalla (barra, %, MB/s, ETA) y la generación correcta de entradas GRUB.

Estrategia: Empezar con una ISO pequeña (Alpine ~200 MB) para ciclar rápido. Agregar una ISO mediana (Debian netinstall ~700 MB) en segunda instancia.

Tareas

  • 3.1 Desde el menú → Agregar ISO → Descargar desde catálogo
  • 3.2 Verificar que el catálogo se carga desde GitHub (mensaje "GitHub — actualizado")
  • 3.3 Seleccionar Alpine Linux (ISO pequeña para prueba rápida)
  • 3.4 Verificar que se muestran correctamente durante la descarga:
    • Barra de progreso [####----]
    • Porcentaje %
    • MB actuales / MB totales
    • Velocidad en MB/s
    • ETA en mm:ss
  • 3.5 Verificar post-descarga:
    ls -lh /mnt/multiboot/isos/
    cat /mnt/multiboot/grub/entries/*.cfg
    grep -i alpine /boot/grub/grub.cfg
    
  • 3.6 Repetir descarga con Debian 12 Netinstall
  • 3.7 Probar descarga de la ISO de Google Drive (Linux Mint desde Drive)
  • 3.8 Verificar que "ya descargada" aparece si se intenta descargar de nuevo
  • 3.9 Tomar snapshot: 02-post-descargas

Notas de ejecución

[ espacio para registrar lo que ocurrió ]

Conclusión y hallazgos

# Hallazgo Impacto en fase siguiente
(pendiente)

¿Se ajusta el plan de la Fase 4? 🔲 Sí / 🔲 No
Ajustes realizados: (ninguno hasta completar esta fase)


FASE 4 — Prueba de arranque desde GRUB

Estado: 🔲 Pendiente
Prerequisito: Fase 3 completada y hallazgos revisados.
Objetivo: Reiniciar la VM y verificar que el menú GRUB muestra las ISOs y que al menos una arranca correctamente en modo live.

Tareas

  • 4.1 Reiniciar la VM
  • 4.2 Verificar que el menú GRUB aparece con las entradas de las ISOs descargadas
  • 4.3 Bootear Alpine Linux desde el menú GRUB
    • Carga el kernel sin error
    • Llega al prompt de login live
  • 4.4 Reiniciar y bootear Debian Netinstall desde el menú GRUB
    • Aparece el instalador de Debian
  • 4.5 Documentar cualquier error de GRUB (mensajes, pantalla negra, kernel panic)
  • 4.6 Si alguna ISO falla, registrar el mensaje de error exacto y la entrada .cfg generada
  • 4.7 Tomar snapshot: 03-post-boot-test

Notas de ejecución

[ espacio para registrar lo que ocurrió ]

Conclusión y hallazgos

# Hallazgo Impacto en fase siguiente
(pendiente)

¿Se ajusta el plan de la Fase 5? 🔲 Sí / 🔲 No
Ajustes realizados: (ninguno hasta completar esta fase)


FASE 5 — Prueba de casos borde y condiciones adversas

Estado: 🔲 Pendiente
Prerequisito: Fase 4 completada y hallazgos revisados.
Objetivo: Validar el comportamiento del script ante situaciones no ideales: sin red, disco lleno, partición ya existente, modo UEFI, etc.

Tareas — Sin conexión a internet

  • 5.1 Deshabilitar la red de la VM en VirtualBox
  • 5.2 Ejecutar el script y elegir "Descargar desde catálogo"
  • 5.3 Verificar que cae al fallback local (isos.conf junto al script)
  • 5.4 Rehabilitar la red

Tareas — Gestión de ISOs

  • 5.5 Probar "Ver ISOs disponibles" y verificar que muestra estado correcto
  • 5.6 Eliminar una ISO desde el menú y verificar:
    ls /mnt/multiboot/isos/
    ls /mnt/multiboot/grub/entries/
    grep -c menuentry /boot/grub/grub.cfg
    
  • 5.7 Reiniciar y verificar que la ISO eliminada ya no aparece en GRUB

Tareas — Modo UEFI

  • 5.8 Restaurar snapshot 00-base-limpia
  • 5.9 Cambiar la VM a modo EFI en VirtualBox (Configuración → Sistema → Habilitar EFI)
  • 5.10 Reinstalar el SO base en modo UEFI
  • 5.11 Repetir el setup con rm-multiboot.sh y verificar detección UEFI
  • 5.12 Verificar que el hook de GRUB funciona igual en UEFI

Notas de ejecución

[ espacio para registrar lo que ocurrió ]

Conclusión y hallazgos

# Hallazgo Impacto en fase siguiente
(pendiente)

¿Se ajusta el plan de la Fase 6? 🔲 Sí / 🔲 No
Ajustes realizados: (ninguno hasta completar esta fase)


FASE 6 — Correcciones, optimizaciones y cierre

Estado: 🔲 Pendiente
Prerequisito: Fases 15 completadas y hallazgos consolidados.
Objetivo: Aplicar todos los fixes identificados, re-validar los casos que fallaron y documentar el estado final del script para uso en producción.

Tareas

  • 6.1 Consolidar todos los bugs encontrados en las fases anteriores
  • 6.2 Priorizar fixes por impacto (bloqueante / menor / cosmético)
  • 6.3 Implementar y commitear cada fix por separado con mensaje descriptivo
  • 6.4 Re-ejecutar los casos que fallaron en las fases anteriores
  • 6.5 Actualizar isos.conf si se detectaron URLs rotas o desactualizadas
  • 6.6 Actualizar versión del script según la magnitud de los cambios
  • 6.7 Hacer push final al repositorio
  • 6.8 Documentar el estado "apto para uso en equipos reales" o las condiciones pendientes

Notas de ejecución

[ espacio para registrar lo que ocurrió ]

Conclusión y hallazgos — Cierre del plan

# Hallazgo / Resultado Acción tomada
(pendiente)

Bugs encontrados: 0 (actualizar)
Bugs resueltos: 0 (actualizar)
Pendientes para próximo ciclo: (ninguno hasta completar)


Registro de versiones del script durante las pruebas

Fase Versión del script Cambios relevantes
Inicio 2.3.2 Versión inicial de pruebas

Checklist general de avance

  • Fase 1 — Entorno VirtualBox preparado
  • Fase 2 — Setup inicial validado
  • Fase 3 — Descargas y catálogo validados
  • Fase 4 — Arranque GRUB validado
  • Fase 5 — Casos borde validados
  • Fase 6 — Correcciones aplicadas y plan cerrado