Agenda 1. Temas investigados 2. Líneas de investigación seguidas 3. Inicio del S.O.D.I.U.M. 4. Pruebas realizadas 5. Descripción de la Solución 6. Muestra de la misma 7. La problemática del booteo en los equipos IBM (Lenovo) – Muestra. 8. Hipótesis sobre mal funcionamiento en BIOS No-Phoenix 9. El Futuro de la investigación
Temas investigados Tecnología USB Estructura lógica El sector de arranque USB La tabla de particiones USB Particiones extendidas USB Influencia del BIOS en el arranque USB Sistema de archivos y particiones FAT-12 El proceso de booteo de S.O.D.I.U.M. Tipos de BIOS Conversión de direcciones
Tecnología USB Tipos de medios Estructura del Medio Métodos de acceso Foro de implementadores (www.usb.org) Tipos de medios Memoria Flash MMC SD Estructura del Medio Física Lógica Métodos de acceso LBA CHS
Tecnología USB Estructura Física
Tecnología USB Estructura Lógica Temas: El sector de arranque (MBR) Código ejecutable La tabla de particiones Particiones ampliadas La firma en el sector de arranque
Tecnología USB Componentes Los métodos de acceso a las unidades USB LBA (Almacenamiento secuencial) CHS (Cylinder, Head, Sector) Existen dos tecnologías: Memoria flash de uso popular: NOR y NAND ECC (Corrección de errores)
Líneas de investigación Disparadores ¿Puede un S.O. bootear desde un dispositivo USB? ¿El proceso de booteo es similar al booteo de un SO desde otros medios? ¿Que pasa con el BIOS?, ¿es capaz de reconocer un dispositivo USB como unidad de booteable? ¿Tenemos que programar algún tipo de Driver para que S.O.D.I.U.M. bootee? ¿Puede particionarse un dispositivo USB? ¿Podrá ser formateado sin problemas? ¿Los USB tienen MBR?
El proceso de booteo del S.O.D.I.U.M bootSector.bin bootSector.bin loader.sys sodium.sys
La Solución
BPB La Solución sectores por pista número de cabezas descriptor del medio número de dispositivo
Preparación de la unidad para bootear el S.O.D.I.U.M. 1. particionamiento y formateo de la unidad: comando sfdisk 2. copia de los archivos en la unidad: comandos dd y cp
1. particionamiento y formateo de la unidad: comando sfdisk Preparación de la unidad para bootear el S.O.D.I.U.M. 1. particionamiento y formateo de la unidad: comando sfdisk sfdisk -H2 -C1024 -S18 -FAT12 /dev/sdb
2. copia de los archivos en la unidad: comandos dd y cp Preparación de la unidad para bootear el S.O.D.I.U.M. 2. copia de los archivos en la unidad: comandos dd y cp dd if=bootSector.bin of=/dev/sdb El resto de los archivos se copia con el conocido comando cp
Básicamente... make install_usb
Pruebas (extracto) Exitos Problemas 8 éxitos en 13 casos 6 issues en 13 casos 100 % en BIOS Phoenix o compatible 100 % en las Notebooks IBM / Lenovo - En equipos HP no se pudo iniciar desde la unidad USB. (Nota: La solución propietaria de HP no nos funcionó con SODIUM) 100 % en clones con BIOS compatibles. 0% en BIOS Phoenix 100 % en Desktops IBM / Lenovo (Thinkcentre con BIOS Phoenix)
Problemas en los equipos IBM / Lenovo Recordamos que estos problemas los estamos detectando sólo en equipos portátiles (Línea Thinkpad) Problemas de lectura Diferencias en las Traducciones
Hipótesis sobre mal funcionamiento en BIOS No-Phoenix
Actualidad y Futuro . . . Algunos comentarios sobre la Investigación actual
Preguntas ?
Fin de la Presentación Muchas gracias !