Commit Graph
18 Commits
Author SHA1 Message Date
Ricardo MonlaandClaude Sonnet 4.6 3cee4bbddf fix(isos.conf): agregar ISOs de prueba a rm-ISOs
Debian 13.5 Netinstall, Kubuntu 24.04 y Linux Mint 22.1 Cinnamon
en la sección rm-ISOs para acceso rápido durante las pruebas de Fase 3.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 21:13:32 -03:00
Ricardo MonlaandClaude Sonnet 4.6 70d3dea50d fix(isos.conf): actualizar Debian 12.9 → 13.5.0 (Trixie)
URLs netinstall y live (GNOME/KDE/Xfce) actualizadas a la versión actual.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 21:11:25 -03:00
Ricardo MonlaandClaude Sonnet 4.6 c284d9c124 docs(fase2): cierre completo — snapshot 01-post-setup tomado, fase marcada
Tarea 2.9 completada (snapshot UUID 43d76b0d). Fase 2 cerrada como completada.
Checklist general actualizado. Nota de ajuste para Fase 3: actualizar isos.conf.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 21:08:17 -03:00
Ricardo MonlaandClaude Sonnet 4.6 53567bad9b docs(fase2): tareas 2.6-2.8 completadas — Escenario 4 verificado en VM
Tareas 2.6, 2.7 y 2.8 completadas. Notas de ejecución detalladas con todos
los problemas encontrados durante la prueba del Escenario 4 vía initramfs.
Registro de versiones actualizado a v2.7.0. Queda pendiente tarea 2.9 (snapshot).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 21:07:43 -03:00
Ricardo MonlaandClaude Sonnet 4.6 0aa6b1d4b3 v2.7.0: completar setup post-initramfs y mejorar cleanup de hooks
- _complete_setup_if_needed(): completa fstab + grub hook cuando MULTIBOOT
  existe pero el script se corre por primera vez post-reboot (Escenario 4).
  También limpia hooks residuales del initramfs si el local-bottom falló y
  regenera el initramfs. Se llama desde menu_principal al detectar MULTIBOOT.
- local-bottom: robustecer el script de cleanup para buscar el mountpoint
  correcto cuando rootmnt no está en el entorno. Agrega logging detallado.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 21:06:40 -03:00
Ricardo MonlaandClaude Sonnet 4.6 f6923edb71 v2.6.0: resize automático via initramfs — sin Live CD (Escenario 4)
Reemplaza el script de rescue manual (que requería Live CD) por un
mecanismo que instala hooks en initramfs para reducir la partición
raíz y crear MULTIBOOT en el próximo arranque, sin ningún medio externo.

Cambios técnicos:
- _wizard_rescue_root: genera local-premount y local-bottom en initramfs
- Hook de herramientas: copia resize2fs, parted, mkfs.ext4, mke2fs, e2fsck
- parted ---pretend-input-tty con doble Yes: acepta warnings interactivos
- +1 MiB en new_root_end_mib: corrige descalce de alineamiento de parted
- mkpart con Yes: acepta "closest location" cuando hay partición extendida adyacente
- local-bottom cleanup: elimina hooks de la raíz vía ${rootmnt} post-resize
- Condición idempotente: no actúa si el dispositivo destino ya existe
- Plan actualizado: tareas 2.4 y 2.5 completadas, versiones registradas

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 21:00:40 -03:00
Ricardo MonlaandClaude Sonnet 4.6 08e16502a9 v2.5.0: motor de detección de espacio ampliado + log + script rescue
- Implementa 4 escenarios de disco reales:
  Escenario 1: espacio libre sin particionar en cualquier disco (anterior)
  Escenario 2: disco secundario vacío disponible
  Escenario 3: partición no-raíz con espacio libre (resize en caliente)
  Escenario 4: solo espacio en filesystem raíz → genera script rescue para live CD
- Agrega sistema de log en /var/log/rm-multiboot.log con timestamps
- El script rescue generado automatiza e2fsck + resize2fs + parted + mkfs
- Plan de pruebas actualizado: Fase 2 ampliada, Fase 5 ajustada

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 19:55:02 -03:00
Ricardo MonlaandClaude Sonnet 4.6 807926b540 docs(fase1): tareas 1.1 y 1.6 completadas — VM creada y snapshot base tomado
VM rm-multiboot-test creada con VBoxManage:
  - 2 CPU, 2 GB RAM, 40 GB disco VDI, NAT, BIOS Legacy
  - Debian 13.5.0 netinstall (755 MB) conectado al DVD
  - Snapshot 00-base-limpia tomado

Hallazgo registrado: URLs de Debian en isos.conf desactualizadas (v12→v13).
Pendiente: instalación del SO en la VM (tareas 1.2–1.7).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 18:14:05 -03:00
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
Ricardo MonlaandClaude Sonnet 4.6 de2a86fe78 feat(v2.3.2): ETA en tiempo real en la barra de progreso de descarga
Calcula el tiempo estimado restante usando velocidad promedio desde el
inicio de la descarga (más estable que velocidad instantánea para ETA).
Formato mm:ss para descargas < 1 hora, h:mm:ss para descargas largas.

Muestra "--:--" mientras no hay datos suficientes para estimar.
ETA solo aparece cuando el servidor informa Content-Length.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 17:58:28 -03:00
Ricardo MonlaandClaude Sonnet 4.6 055d099363 feat(v2.3.1): velocidad de descarga en MB/s en tiempo real
Calcula delta de bytes entre cada tick del loop (0.3 s) y lo convierte
a MB/s con un decimal via awk. Se muestra en la misma línea de progreso:

  →  [########------------]   42%  (1823 de 4340 MB)  23.5 MB/s

Sin Content-Length: "1247 MB  23.5 MB/s"
Al completar: muestra tamaño final sin velocidad (limpia la línea).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 17:56:40 -03:00
Ricardo MonlaandClaude Sonnet 4.6 b0e56f127f feat(v2.3.0): progreso de descarga unificado con barra y porcentaje
- Nueva función get_remote_size: obtiene Content-Length via HEAD request
- Nueva función download_with_progress: descarga en background y muestra
  barra [####----] + porcentaje + MB actuales / MB totales en tiempo real
- gdrive_download simplificada: delega en download_with_progress
- download_from_catalog usa un único punto de descarga para Drive y URLs directas
- Fallback a "X MB descargados..." cuando el servidor no informa Content-Length

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 17:54:59 -03:00
Ricardo MonlaandClaude Sonnet 4.6 6c6564dc96 feat(v2.2.0): soporte Google Drive y ChromeOS Flex en catálogo
- Nuevas funciones: is_gdrive_url, gdrive_file_id, gdrive_real_filename,
  gdrive_download — detectan y descargan desde URLs de Google Drive
  usando drive.usercontent.google.com con confirm=t (sin redirección)
- El nombre del archivo se obtiene del header Content-Disposition;
  si falla, se genera desde el nombre del catálogo
- Agrega ChromeOS Flex (stable) al catálogo con nota de que es imagen
  de disco para flashear, no ISO booteable por GRUB loopback

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 17:50:49 -03:00
rmonlaandGitHub b9f6d77608 Update isos.conf 2026-06-06 17:42:43 -03:00
Ricardo MonlaandClaude Sonnet 4.6 8185c86895 feat(v2.1.0): leer isos.conf desde GitHub en cada ejecución
El catálogo se obtiene en tiempo de ejecución desde:
  raw.githubusercontent.com/ricardomonla/rm-MULTIBOOT/main/isos.conf

Flujo: intenta GitHub primero → fallback al archivo local si no hay red.
El archivo temporal se limpia automáticamente tras leer las entradas.
Actualizar el catálogo ahora solo requiere editar isos.conf en GitHub.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 17:20:56 -03:00
Ricardo MonlaandClaude Sonnet 4.6 9f2c0f4580 fix: corregir datos del autor (Lic. Ricardo MONLA, rmonla@gmail.com)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 17:15:29 -03:00
Ricardo MonlaandClaude Sonnet 4.6 08a5bbdbf8 feat(v2.0.0): renombrar script, agregar catálogo isos.conf y descarga directa
- Script renombrado a rm-multiboot.sh con header de autor y versión
- Nuevo archivo isos.conf: catálogo NOMBRE|URL con 30+ distros populares
- Nuevo flujo "Agregar ISO": elegir entre descargar del catálogo o ruta local
- Descarga con wget (con fallback a curl) y retoma descargas incompletas (-c)
- El nombre del catálogo se usa como etiqueta GRUB cuando la detección es genérica

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 17:13:45 -03:00
Ricardo MonlaandClaude Sonnet 4.6 489af9b387 feat: initial multiboot manager script and research doc
Script interactivo para configurar multiboot desde disco interno.
Auto-detecta sistema, crea partición MULTIBOOT en espacio libre,
gestiona ISOs con entradas GRUB automáticas (loopback + fallback).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 16:55:22 -03:00