Cómo preparar un drive USB para instalar CentOS

Este procedimiento ha sido probado con múltiples instalaciones pero puede no cubrir todas las eventualidades. Caveat instalador.

1. Motivación

Muchos sistemas nuevos, en particular netbooks y notebooks pequeñas, pueden no venir con unidad de CD o DVD; y una instalación por la red puede resultar difícil, impráctica o imposible, dependiendo de la conectividad de red y del soporte del instalador para el hardware de red disponible. Este procedimiento permite una instalación CentOS sin conectividad de red y sin otro medio de instalación que un dispositivo booteable USB y el disco del sistema destino.

2. Prerrequisitos

  1. Un sistema destino para la instalación que soporte el booteo desde medio USB. Esto puede necesitar ser configurado en el setup de BIOS.
  2. Un drive USB con suficiente capacidad para contener el medio de instalación (también llamado stick de memoria, pen-drive, flash drive, llave USB, etc.). CentOS 5.4 i386 cabrá en un drive de 4GB; x86_64 requiere más de 4GB. Una instalación mínima con el CD #1 será posible con un drive de 1GB. La misma técnica puede ser usada con un disco rígido USB. Se asume que este procedimiento será realizado dentro de un ambiente GUI (GNOME, KDE, etc.), de manera que el medio USB se automontará.
  3. Un sistema Linux en funcionamiento (posiblemente otra computadora con Linux instalado, corriendo desde un Live CD, o en una máquina virtual) con syslinux (hacer yum install syslinux o instalar usando el administrador de paquetes nativo para la distribución, si no está ya instalado). El autor encontró problemas usando el paquete syslinux de CentOS-5.3/5.4. El paquete provisto por el repositorio CentOS LiveCD Tools funcionó correctamente.

  4. Un conjunto de imágenes ISO de CDs de instalación de CentOS, o la imagen ISO del DVD, para la arquitectura deseada.

Puede ser necesario cambiar nombres de dispositivo, arquitectura y/o caminos de syslinux de acuerdo a su distribución, situación y preferencias.

¡Tenga precaución al copiar y pegar los comandos que se detallan abajo, y adáptelos a su situación!

3. Procedimiento

Supongamos que el drive USB aparece como /dev/sdg (adapte a su situación, muy probablemente será diferente) y estamos instalando CentOS 5.4 i386.

  1. Hágase usuario root. En el medio USB, cree una partición VFAT pequeña (con 10MB alcanzará) y una partición Linux grande. Haga activa la partición VFAT.

    fdisk /dev/sdg
    
    Debe verse algo así cuando esté hecho:
    Disk /dev/sdg: 7948 MB, 7948206080 bytes
    81 heads, 10 sectors/track, 19165 cylinders
    Units = cylinders of 810 * 512 = 414720 bytes
    Disk identifier: 0x00000000
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdg1   *           1          65       26320    b  W95 FAT32
    /dev/sdg2              66       19165     7735500   83  Linux
    
  2. Haga los sistemas de archivo:
    mkfs.vfat -n BOOT /dev/sdg1
    mkfs.ext2 -m 0 -b 4096 -L DATA /dev/sdg2
    
  3. Desconecte y reconecte el medio USB. Las particiones deben montarse bajo /media/BOOT y /media/DATA.
  4. Copie la o las imágenes ISO de CentOS a la partición ext2. Para ISOs de CD, será:
    cd /dir/of/iso/images
    mkdir /media/DATA/centos
    mkdir /tmp/cdimage
    mount -ro loop CentOS-5.4-i386-bin-1of6.iso /tmp/cdimage
    cp *sum* /media/DATA/centos
    for i in 1 2 3 4 5 6; do cp -v CentOS-5.4-i386-bin-${i}of6.iso /media/DATA/centos/; sync; done
    cd /media/DATA/centos
    grep of6 sha1sum.txt | sha1sum -c - CentOS-5.4-i386-bin-?of6.iso
    

    Para medios DVD reemplace el lazo for de arriba, y las siguientes dos líneas, con:

    cp -v CentOS-5.4-i386-bin-DVD.iso /media/DATA/centos/; sync
    cd /media/DATA/centos
    grep DVD sha1sum.txt | sha1sum -c - CentOS-5.4-i386-bin-DVD.iso
    
  5. Instale y configure syslinux en la partición VFAT y MBR:
    syslinux -s /dev/sdg1
    dd if=/usr/share/syslinux/mbr.bin of=/dev/sdg
    cd /media/BOOT
    cp -rv /tmp/cdimage/isolinux syslinux
    mv syslinux/isolinux.cfg syslinux/syslinux.cfg
    rm -f syslinux/isolinux.bin
    umount /tmp/cdimage
    <su editor favorito> syslinux/syslinux.cfg
    
  6. Agregue las instrucciones append en las diversas secciones:

      method=hd:sda2:/centos
    
    Para usar kickstart:
      ks=hd:sda2:/ks.cfg method=hd:sda2:/centos
    
  7. Use la GUI para extraer con seguridad el medio USB. Vaya al sistema destino, arranque e instale.

4. Notas


Un agradecimiento a John Doe por el material básico aportado en el siguiente envío a la lista de correo de los usuarios de CentOS: http://lists.centos.org/pipermail/centos/2009-June/077860.html


Comentarios del remitente original:

Hum, error mío... Yo uso un archivo kickstart y olvidé que tuve que usar la línea siguiente en él (y uso controladores RAID de HP):

 bootloader --driveorder=cciss/c0d0,sda --location=mbr

Para el kickstart, uso lo siguiente:

  append initrd=initrd.img ks=hd:sda2:/ks.cfg method=hd:sda2:/centos

  harddrive --partition=sda2 --dir=/centos
  ignoredisk --drives=sda
  bootloader --driveorder=cciss/c0d0,sda --location=mbr

Y, para ser honesto, no debería recibir crédito por esto; encontré la mayor parte de la información en la Web... ^_^

Yo también informé anteriormente que:

  1. Mi servidor HP aparentemente no acepta arrancar de una llave USB protegida contra escritura.
  2. Anaconda trata de recuperar el archivo ks.cfg demasiado antes... Una vez que la detección ha terminado (unos 2 o 3 segundos más tarde), si reintento, funciona.
  3. Hay un mensaje de error "cannot mount read/write, will mount read-only" (no puedo montar para lectura/escritura, montaré sólo lectura). (Prefiero proteger contra escritura)

5. Alternativas

  1. UNetbootin ofrece ejecutables para Windows y para Linux y permite crear medios USB booteables para varias distribuciones Linux, incluyendo CentOS.

  2. Una forma alternativa si no se dispone de red, es arrancar de una imagen diskboot.img en un medio USB, tal como se documenta en la Guía de Instalación, y hacer una instalación con imágenes ISO al disco rígido del sistema destino.


El original inglés de esta página fue creado y es mantenido por PhilSchaffner. Los demás colaboradores del Wiki con derechos de edición están invitados a hacer correcciones o adiciones. Otros lectores con comentarios pueden encontrar información de contacto en mi página Wiki.

es/HowTos/InstallFromUSBkey (last edited 2010-03-20 23:33:56 by EduardoGrosclaude)