Skip to content

Crear y subir una imagen de Linux (incl. Xinchuang)

Nuevo método de subida: use la herramienta linuxupload (diskless_upload.sh). Un solo comando se encarga de compilar los controladores, particionar el disco, instalar el gestor de arranque y subir el sistema, todo mediante un asistente. Admite x86_64 y multiarquitectura Xinchuang (arm64 / loongarch64 / mips64el / riscv64); el script elige el binario correcto según uname -m.

1) Instale el sistema operativo con normalidad

Instale Linux como de costumbre en una máquina física o virtual (incluidos sistemas Xinchuang como Kylin, UOS, openEuler, Anolis). Termine la configuración básica e instale el software que necesite.

2) Obtener y extraer la herramienta

Descargue la herramienta de empaquetado linuxupload.tar.gz, cópiela al sistema Linux instalado y extráigala:

Contacte con el servicio al cliente para obtener la herramienta.

bash
mkdir linuxupload
tar -xzf linuxupload.tar.gz -C linuxupload
cd linuxupload
ls -lah

Herramienta de empaquetado extraída

Sobre el contenido: diskless_upload.sh es el script principal de subida; bin/ contiene los binarios por arquitectura (vdmount / vdclient / rb_client, etc.), mientras que efi/, grub/, scripts/ y newvhd/ son archivos de arranque y de cliente.

3) Ejecutar la herramienta de subida

⚠️ Sobre el refuerzo de seguridad en sistemas Xinchuang: los sistemas Xinchuang como Kylin, UOS, openEuler y Anolis activan el refuerzo de seguridad de forma predeterminada (KYSEC, SELinux, verificación de firmas del modo desarrollador, etc.). Esto provoca dos tipos de problemas:

  1. Bloqueo por permisos — la compilación de controladores, el particionado o la escritura en disco pueden bloquearse directamente;
  2. Reescaneo que ralentiza / congela la subida (más sutil) — por ejemplo, el demonio de reescaneo de KYSEC de Kylin mide cada archivo escrito en el disco de red y lo vuelve a leer por completo a través de la red, saturando el ancho de banda y privando a las escrituras de la subida. El síntoma: la subida llega a la mitad y luego el rendimiento se desploma o cae a cero y parece bloqueada. Si su subida pierde todo el progreso a mitad de camino, casi siempre es el mecanismo de seguridad reescaneando — desactívelo y se recupera.

El nuevo diskless_upload.sh ya lo gestiona automáticamente: antes de subir, desactiva temporalmente KYSEC, detiene el demonio de reescaneo y pausa los antivirus comunes (QAX / 360 / avserver de Kylin / ClamAV, etc.), mostrando un aviso en pantalla. En la mayoría de los casos no necesita hacer nada manualmente.

Si el tratamiento automático no cubre su sistema (best-effort), o la subida sigue bloqueada / se ralentiza a mitad de camino, desactive la seguridad manualmente según la tabla de abajo antes de ejecutar el script (todos requieren root / sudo):

Sistema XinchuangMecanismo de seguridadCómo desactivar / entrar
Kylin / NeoKylin (V10, V11, escritorio y servidor)KYSEC (seguridad de Kylin)En un terminal ejecute sudo setstatus disable para desactivarlo temporalmente; añada -p para hacerlo permanente (sudo setstatus disable -p, sigue desactivado tras reiniciar). La edición de servidor también admite sudo security-switch --set custom; si es necesario, cambie el parámetro de arranque de GRUB security=kysec por security= vacío.
UnionTech UOSModo desarrolladorCentro de control → General → Modo desarrollador, y actívelo en línea (inicie sesión con un UnionID) o sin conexión (exporte la información de la máquina → descargue e importe el certificado sin conexión); tras activarlo, ejecute sudo passwd root en un terminal para establecer una contraseña de root. Nota: el modo desarrollador es una operación de un solo sentido — desactiva la verificación de firmas y no se puede revertir.
deepinModo desarrollador / rootIgual que el modo desarrollador de UOS; o ejecute sudo passwd root para establecer una contraseña y luego su - para cambiar a root.
openEulerSELinuxTemporal: sudo setenforce 0 (lo pone en permissive); permanente: edite /etc/selinux/config, ponga SELINUX=disabled y reinicie.
Anolis / basados en Red Hat (RHEL, CentOS, Rocky, Alma, etc.)SELinuxIgual que openEuler: sudo setenforce 0 (temporal) / ponga SELINUX=disabled en /etc/selinux/config y reinicie (permanente).

Para restaurar el refuerzo de seguridad tras la subida: en Kylin ejecute sudo setstatus enable -p; para SELinux ponga SELINUX=enforcing en /etc/selinux/config y reinicie. El modo desarrollador de UOS no se puede revertir una vez activado — téngalo en cuenta.

Ejecute el script como root:

bash
sudo ./diskless_upload.sh

El script detecta automáticamente su arquitectura, compila y carga los controladores que coinciden con su kernel (por red) y luego abre el asistente de subida. Rellene cada campo según se indique (pulse Enter tras cada uno):

Asistente de configuración de subida

CampoSignificado
[1/7] Dirección IP del servidorIP del servidor de arranque vDisk
[2/7] Usuario administradorCuenta de administrador del servidor
[3/7] Contraseña de administradorContraseña de administrador del servidor
[4/7] Nombre de la imagenNombre de la imagen a crear
[5/7] Tamaño de la imagen (GB)Tamaño del disco virtual; se recomienda ≥ espacio usado del sistema actual
[6/7] Modo de arranque1 = BIOS (heredado) / 2 = UEFI; debe coincidir con la máquina de destino
[7/7] Sufijo de arquitecturaOpcional; pulse Enter para el valor por defecto (detectado mediante uname -m). Para hardware modificado que comparte arquitectura pero necesita un disco de arranque específico (Huawei Kunpeng, Phytium, etc.), escriba un sufijo personalizado (p. ej. kunpeng, ft2000); define el nombre del ISO de despliegue / disco de arranque y la arquitectura reportada

4) Confirmar e iniciar la subida

Se muestra un resumen de la configuración. Tras revisarlo, escriba Y y pulse Enter para comenzar:

Resumen de configuración

Tras confirmar, el script realiza automáticamente: inicializa y particiona el disco virtual → lo formatea → instala el gestor de arranque (según BIOS/UEFI elegido) → construye el initrd de arranque sin disco → sube el sistema local al disco virtual mediante rsync. El progreso y el porcentaje de subida se muestran en pantalla.

5) Subida completada

Cuando termina la subida aparece un menú de acciones:

  • r reiniciar el sistema
  • s apagar el sistema
  • c cancelar (volver)

La imagen ya está subida al servidor y puede asignarse a las máquinas cliente para el arranque sin disco.

6) Crear un disco de arranque a partir del ISO de despliegue para desplegar otros equipos

Cuándo usarlo: el equipo de destino no tiene ROM PXE en la tarjeta de red / no puede cambiar fácilmente su orden de arranque por red, o desea un disco de arranque «conectar e instalar» para despliegue masivo. Durante la subida, el script genera sobre la marcha un ISO de despliegue usando el kernel local; conviértalo en una memoria USB para arrancar cualquier equipo desnudo en el despliegue, sin PXE y sin cambiar el orden de arranque del BIOS.

6.1 Localizar el ISO generado

Cuando termina la subida, la pantalla muestra la ruta del ISO. El archivo se llama como vdisk-deploy-<arch>.iso (p. ej. vdisk-deploy-aarch64.iso, vdisk-deploy-x86_64.iso). Incluye el kernel local + el menú de arranque + los controladores y es una imagen isohybrid (se puede grabar en un disco o escribir directamente en una memoria USB con dd).

⚠️ El ISO es específico de cada arquitectura: un ISO arm64 solo arranca máquinas arm64, y uno x86_64 solo arranca máquinas x86_64. Use el ISO generado en una máquina de la misma arquitectura que el destino.

6.2 Escribir el ISO en una memoria USB

⚠️ Debe escribir en modo DD (imagen) — ¡nunca en modo ISO! Este ISO es una imagen de arranque híbrida creada con grub-mkrescue que solo puede escribirse en bruto, disco completo. Si usa el «modo Imagen ISO» predeterminado de Rufus, los archivos se reempaquetan y al arrancar obtendrá error: unknown filesystem cayendo en grub rescue>. Tras pulsar START en Rufus, cuando aparezca el diálogo «ISOHybrid image detected», elija Write in DD Image mode (modo Imagen DD); o simplemente use balenaEtcher (siempre escribe en bruto, no pregunta — lo más seguro). Tras escribir, Windows puede decir que la memoria USB necesita formato o mostrarla como diminuta/ilegible — es normal, no la formatee.

Elija un método (los datos existentes de la memoria USB se borrarán — asegúrese de seleccionar el dispositivo correcto):

  • Windows: use Rufus o balenaEtcher para escribir el ISO en la memoria USB. Cuando Rufus pregunte «modo ISO / DD», elija modo DD.

  • Linux / macOS: escríbalo directamente con dd (confirme primero el nombre del dispositivo USB con lsblk y sustituya /dev/sdX por él — no escriba en el disco equivocado):

    bash
    sudo dd if=vdisk-deploy-aarch64.iso of=/dev/sdX bs=4M status=progress conv=fsync
  • También puede grabar el ISO en un DVD.

6.3 Desplegar otros equipos desde el disco de arranque

  1. Conecte la memoria USB preparada al equipo de destino y asegúrese de que esté en la misma red que el servidor de arranque vDisk;
  2. Encienda y pulse la tecla del menú de arranque puntual (normalmente F12 / F11 / F9 / Esc, según la placa) para arrancar temporalmente desde la memoria USB (sin cambiar el orden de arranque predeterminado en el BIOS y sin PXE);
  3. En el menú de arranque, elija unirse a un equipo / seleccionar el equipo a arrancar;
  4. Siga las indicaciones para descargar e instalar la imagen; una vez hecho, el equipo puede arrancar sin disco con normalidad;
  5. La misma memoria USB puede reutilizarse para varias máquinas de la misma arquitectura.

El ISO arranca tanto en firmware BIOS como UEFI; el «Tipo de equipo / Arquitectura de CPU» del destino en la consola debe coincidir con su firmware y arquitectura reales (véase Despliegue heterogéneo).

Notas

Se requiere conexión a Internet durante todo el proceso: los controladores se compilan en línea de forma remota; sin red no se puede completar la subida.

El modo de arranque (BIOS / UEFI) debe coincidir con el firmware del cliente de destino; de lo contrario, el cliente podría no arrancar.

La multiarquitectura Xinchuang se gestiona automáticamente: el script elige el binario de la arquitectura correcta según uname -m. El nuevo script relaja automáticamente el refuerzo de seguridad (KYSEC, etc.; véase el paso 3 anterior) antes de subir; si la subida sigue bloqueada, o el rendimiento se desploma / cae a cero a mitad de camino y parece bloqueada, lo más probable es que el mecanismo de seguridad esté reescaneando el disco de red — desactívelo manualmente según el paso 3 y reintente.

El ISO de despliegue es específico de cada arquitectura; un ISO solo arranca máquinas de la misma arquitectura (véase el paso 6).