Ir al contenidoIr a la navegación de la página: página anterior [tecla de acceso p]/página siguiente [tecla de acceso n]
documentation.suse.com / Distribución de SUSE Linux Micro mediante un arranque PXE de red

Distribución de SUSE Linux Micro mediante un arranque PXE de red

Fecha de publicación: 20 Mar 2025
DESCRIPCIÓN

SUSE Linux Micro proporciona imágenes que se pueden distribuir de forma remota mediante el arranque PXE del dispositivo de destino.

INTENCIÓN

Desea distribuir SUSE Linux Micro de forma remota.

ESFUERZO

Se tardan unos 15 minutos en leer este artículo.

OBJETIVO

Una instancia configurada correctamente de SUSE Linux Micro.

REQUISITOS
  • Un servidor DHCP correctamente configurado

  • Un servidor TFTP instalado

1 Introducción a la instalación PXE de SUSE Linux Micro

SUSE Linux Micro se puede instalar a través de un entorno de ejecución previa al arranque (PXE). El hardware cliente debe admitir el arranque mediante PXE. La red debe disponer de un servidor DHCP y un servidor TFTP que proporcione los datos necesarios a los clientes.

El procedimiento de distribución se puede resumir en los siguientes pasos:

  1. (Opcional) Para realizar una configuración o instalación de primer arranque más compleja sin interacción del usuario, prepare la configuración del primer arranque utilizada por Combustion o Ignition. Por ejemplo, puede definir los usuarios del sistema, instalar paquetes, configurar el nombre de host, registrar el sistema y muchas otras tareas. Para obtener información detallada, consulte la Sección 2.2, “Configuración de la distribución de SUSE Linux Micro con Combustion” o la Sección 2.3, “Configuración de la distribución de SUSE Linux Micro con Ignition”.

  2. Asegúrese de que el servidor DHCP esté configurado correctamente.

  3. Prepare el servidor TFTP añadiendo la imagen de instalación, configurando los ajustes de arranque y colocando la configuración de Combustion/Ignition en el servidor TFTP. Para obtener información detallada, consulte la Sección 3, “Preparación del servidor TFTP”.

  4. En el equipo de destino, seleccione el arranque PXE y arranque el equipo. Para obtener información detallada, consulte la Sección 4, “Distribución de la imagen de forma remota”.

2 Creación de la configuración del primer arranque

En las siguientes secciones se proporciona información sobre dos herramientas que puede utilizar para configurar SUSE Linux Micro en el primer arranque. Puede usar Combustion y escribir un guion BASH de configuración, o puede usar Ignition y usar JSON. Como alternativa, si no necesita una configuración compleja o una configuración sin supervisión, puede omitir este paso, ya que la configuración básica se puede realizar utilizando JeOS Firstboot como se describe en la Sección 4.1, “Configuración de SUSE Linux Micro con JeOS Firstboot”.

2.1 Detección del primer arranque

La configuración de distribución solo se ejecuta en el primer arranque. Para distinguir entre el primer arranque y los siguientes, el archivo /etc/machine-id se crea después de que finalice el primer arranque. Si el archivo no está presente en el sistema de archivos, el sistema entiende que se trata de un primer arranque y activa el proceso de configuración. Después de completar el primer arranque, se crea el archivo /etc/machine-id.

Nota
Nota: el archivo /etc/machine-id siempre se crea

Aunque la configuración no se realice correctamente debido a que falten archivos de configuración o que estos no sean correctos, el archivo /etc/machine-id se crea.

2.1.1 Forzado de la reconfiguración del sistema en un arranque posterior

Si necesita volver a configurar el sistema después del primer arranque, puede forzar la reconfiguración en el siguiente arranque. Tiene dos opciones.

  • Puede pasar los atributos ignition.firstboot o combustion.firstboot a la línea de comandos del kernel.

  • Puede suprimir el archivo /etc/machine-id y reiniciar el sistema.

2.2 Configuración de la distribución de SUSE Linux Micro con Combustion

Combustion es un módulo dracut que permite configurar el sistema en el primer arranque. Puede utilizar Combustion, por ejemplo, para cambiar las particiones por defecto, definir contraseñas de usuario, crear archivos o instalar paquetes.

2.2.1 ¿Cómo funciona Combustion?

Combustion se invoca después de pasar el argumento ignition.firstboot a la línea de comandos del kernel. Combustion lee un archivo proporcionado denominado script, ejecuta los comandos incluidos y realiza cambios en el sistema de archivos. Si script incluye el indicador de red, Combustion intenta configurar la red. Después de montar /sysroot, Combustion intenta activar todos los puntos de montaje en /etc/fstab y luego llama a transactional-update para aplicar otros cambios, por ejemplo, establecer la contraseña de root o instalar paquetes.

El guion de configuración debe residir en el servidor TFTP y, durante el arranque, se debe proporcionar su URL al kernel mediante el parámetro combustion.url. Para obtener información detallada, consulte la Sección 3, “Preparación del servidor TFTP”.

Sugerencia
Sugerencia: uso de Combustion junto con Ignition

Combustion se puede utilizar junto con Ignition. Si tiene la intención de hacerlo, etiquete el medio de configuración ignition e incluya el directorio ignition con config.ign en la estructura de directorios como se muestra a continuación:

<root directory>
└── combustion
    └── script
    └── other files
└── ignition
    └── config.ign

En este escenario, Ignition se ejecuta antes que Combustion.

2.2.2 Ejemplos de configuración de Combustion

2.2.2.1 El archivo de configuración script

El archivo de configuración script es un conjunto de comandos que Combustion analiza y ejecuta en una shell transactional-update. Este artículo proporciona ejemplos de tareas de configuración realizadas por Combustion.

Sugerencia
Sugerencia: utilice Fuel Ignition para generar el guion de Combustion

Para crear el guion de Combustion, puede utilizar la aplicación Web de Fuel Ignition. Allí podrá seleccionar los parámetros adecuados y la aplicación generará un guion de Combustion que podrá descargar.

Importante
Importante: incluya una declaración de intérprete

Como el archivo script es interpretado por la shell, inicie siempre el archivo con la declaración del intérprete en su primera línea. Por ejemplo, en el caso de Bash:

#!/bin/bash

Para iniciar sesión en el sistema, incluya al menos la contraseña de root. Sin embargo, se recomienda establecer la autenticación mediante claves SSH. Si necesita utilizar una contraseña de root, asegúrese de configurar una contraseña segura. Para una contraseña generada aleatoriamente, use al menos 10 caracteres. Si crea la contraseña manualmente, se recomienda utilizar incluso más de 10 caracteres y combinar letras mayúsculas y minúsculas y números.

2.2.2.1.1 Partición por defecto

Cada imagen tiene los siguientes subvolúmenes:

/home
/root
/opt
/srv
/usr/local
/var

El directorio /etc se monta como overlayFS, donde el directorio superior se monta en /var/lib/overlay/1/etc/.

Puede reconocer los subvolúmenes montados por defecto mediante la opción x-initrd.mount de /etc/fstab. Otros subvolúmenes o particiones deben configurarse mediante Ignition o Combustion.

Si desea añadir un nuevo usuario o modificar cualquiera de los archivos de un subvolumen que no esté montado por defecto, primero debe declarar dicho subvolumen para que también se monte.

2.2.2.1.2 Configuración de la red

Para configurar y utilizar la conexión de red durante el primer arranque, añada la siguiente instrucción a script:

# combustion: network

El uso de esta instrucción pasa el argumento rd.neednet=1 a dracut. La configuración de red utiliza por defecto DHCP. Si se necesita una configuración de red diferente, proceda como se describe en la Sección 2.2.2.1.3, “Realización de modificaciones en initramfs”.

Si no utiliza la instrucción, el sistema sigue configurado sin conexión de red.

2.2.2.1.3 Realización de modificaciones en initramfs

Puede que necesite realizar cambios en el entorno initramfs, por ejemplo, para escribir una configuración de red personalizada para NetworkManager en /etc/NetworkManager/system-connections/. Para ello, utilice la instrucción prepare.

Por ejemplo, para crear una conexión con una dirección IP estática y configurar DNS:

#!/bin/bash
# combustion: network prepare
set -euxo pipefail
          
nm_config() {
  umask 077 # Required for NM config
  mkdir -p /etc/NetworkManager/system-connections/
  cat >/etc/NetworkManager/system-connections/static.nmconnection <<-EOF
  [connection]
  id=static
  type=ethernet
  autoconnect=true
          
  [ipv4]
  method=manual
  dns=192.168.100.1
  address1=192.168.100.42/24,192.168.100.1
EOF
}
          
if [ "${1-}" = "--prepare" ]; then
  nm_config # Configure NM in the initrd
  exit 0
fi
          
# Redirect output to the console
exec > >(exec tee -a /dev/tty0) 2>&1
          
  nm_config # Configure NM in the system
  curl example.com

# Close outputs and wait for tee to finish
exec 1>&- 2>&-; wait;

# Leave a marker
echo "Configured with combustion" > /etc/issue.d/combustion
2.2.2.1.4 Espere a que se complete la tarea

Algunos procesos se pueden ejecutar en segundo plano; por ejemplo, el proceso tee que redirige la salida al terminal. Para asegurarse de que todos los procesos en ejecución se completen antes de que finalice la ejecución de script, añada la siguiente línea:

exec 1>&- 2>&-; wait;
2.2.2.1.5 Particiones

Las imágenes en bruto de SUSE Linux Micro se proporcionan con un esquema de particionamiento por defecto. Es posible que desee utilizar una partición diferente. El siguiente conjunto de fragmentos de código de ejemplo mueve /home a una partición diferente.

Nota
Nota: realice los cambios fuera de los directorios incluidos en las instantáneas

El siguiente guion realiza cambios que no se incluyen en las instantáneas. Si el guion falla y la instantánea se descarta, ciertos cambios permanecen visibles y no se pueden revertir; por ejemplo, los cambios en el dispositivo /dev/vdb.

El siguiente fragmento crea un esquema de particionamiento GPT con una sola partición en el dispositivo /dev/vdb:

sfdisk /dev/vdb <<EOF
sleep 1
label: gpt
type=linux
EOF

partition=/dev/vdb1

Dado que el comando sfdisk puede tardar más en completarse, posponga label mediante el comando sleep después de sfdisk.

La partición tiene el formato Btrfs:

wipefs --all ${partition}
mkfs.btrfs ${partition}

El siguiente fragmento de código traslada el posible contenido de /home a la ubicación de la nueva carpeta /home:

mount /home
mount ${partition} /mnt
rsync -aAXP /home/ /mnt/
umount /home /mnt

El fragmento de código siguiente elimina una entrada antigua en /etc/fstab y crea una entrada nueva:

awk -i inplace '$2 != "/home"' /etc/fstab
echo "$(blkid -o export ${partition} | grep ^UUID=) /home btrfs defaults 0 0" >>/etc/fstab
2.2.2.1.6 Creación de nuevos usuarios

Dado que algunos servicios, como Cockpit, requieren que se inicie sesión como un usuario que no sea root, defina aquí al menos un usuario sin privilegios. Como alternativa, puede crear un usuario de este tipo desde un sistema en ejecución como se describe en la Sección 5.2, “Adición de usuarios”.

Para añadir una nueva cuenta de usuario, cree primero una cadena hash que represente la contraseña del usuario. Utilice el comando openssl passwd -6.

Después de obtener el hash de contraseña, añada las siguientes líneas a script:

mount /home
useradd -m EXAMPLE_USER
echo 'EXAMPLE_USER:PASSWORD_HASH' | chpasswd -e
2.2.2.1.7 Definición de una contraseña de root

Antes de definir la contraseña de root, genere un hash de la contraseña; por ejemplo, utilizando openssl passwd -6. Para definir la contraseña, añada la línea siguiente a script:

echo 'root:PASSWORD_HASH' | chpasswd -e
2.2.2.1.8 Adición de claves SSH

El siguiente fragmento crea un directorio para almacenar la clave SSH de root y luego copia la clave SSH pública ubicada en el dispositivo de configuración en el archivo authorized_keys.

mkdir -pm700 /root/.ssh/
cat id_rsa_new.pub >> /root/.ssh/authorized_keys
Nota
Nota

El servicio SSH debe estar habilitado en caso de que necesite iniciar la sesión de forma remota a través de SSH. Para obtener información detallada, consulte la Sección 2.2.2.1.9, “Habilitación de servicios”.

2.2.2.1.9 Habilitación de servicios

Para habilitar los servicios del sistema, por ejemplo, el servicio SSH, añada la siguiente línea a script:

systemctl enable sshd.service
2.2.2.1.10 Instalación de paquetes
Importante
Importante: puede ser necesario conectarse a la red y registrar el sistema

Dado que algunos paquetes pueden requerir una suscripción adicional, es posible que deba registrar el sistema de antemano. También puede ser necesaria una conexión de red disponible para instalar paquetes adicionales.

Durante la configuración de primer arranque, puede instalar paquetes adicionales en el sistema. Por ejemplo, puede instalar el editor vim añadiendo:

zypper --non-interactive install vim-small
Nota
Nota

Tenga en cuenta que no podrá utilizar zypper después de que se complete la configuración y arranque en el sistema configurado. Para realizar cambios más adelante, debe utilizar el comando transactional-update para crear una instantánea modificada.

2.3 Configuración de la distribución de SUSE Linux Micro con Ignition

Ignition es una herramienta de provisión que permite configurar un sistema de acuerdo con sus especificaciones en el primer arranque.

2.3.1 ¿Cómo funciona Ignition?

Cuando el sistema se arranca por primera vez, Ignition se carga como parte de initramfs y busca un archivo de configuración en un directorio específico (en una memoria USB o en una URL). Todos los cambios se realizan antes de que el kernel cambie del sistema de archivos temporal al sistema de archivos raíz real (antes de que se emita el comando switch_root).

Ignition utiliza un archivo de configuración en formato JSON denominado config.ign. Puede escribir la configuración manualmente o utilizar la aplicación Web Fuel Ignition en https://ignite.opensuse.org para generarla.

Importante
Importante

Fuel Ignition aún no cubre el vocabulario completo de Ignition, y el archivo JSON resultante puede necesitar ajustes manuales adicionales.

2.3.1.1 config.ign

config.ign contiene varios tipos de datos: objetos, cadenas, enteros, booleanos y listas de objetos. Para obtener la especificación completa, consulte Ignition specification v3.3.0.

El atributo version es obligatorio y, en el caso de SUSE Linux Micro, su valor debe definirse en 3.4.0 o en cualquier versión anterior. De lo contrario, Ignition fallará.

Para iniciar sesión en el sistema como root, debe incluir al menos una contraseña de root. Sin embargo, se recomienda establecer el acceso mediante claves SSH. Para configurar una contraseña, asegúrese de utilizar una que sea segura. Si utiliza una contraseña generada aleatoriamente, use al menos 10 caracteres. Si crea la contraseña manualmente, se recomienda utilizar incluso más de 10 caracteres y combinar letras mayúsculas y minúsculas y números.

2.3.2 Ejemplos de configuración de Ignition

En esta sección se proporcionan ejemplos de la configuración de Ignition en el formato JSON integrado.

Nota
Nota: el atributo version es obligatorio

Cada archivo config.ign debe incluir la versión 3.4.0 o anterior, que se convierte a la especificación de Ignition correspondiente.

2.3.2.1 Partición por defecto

Cada imagen tiene los siguientes subvolúmenes:

/home
/root
/opt
/srv
/usr/local
/var

El directorio /etc se monta como overlayFS, donde el directorio superior se monta en /var/lib/overlay/1/etc/.

Puede reconocer los subvolúmenes montados por defecto mediante la opción x-initrd.mount de /etc/fstab. Otros subvolúmenes o particiones deben configurarse mediante Ignition o Combustion.

Si desea añadir un nuevo usuario o modificar cualquiera de los archivos de un subvolumen que no esté montado por defecto, primero debe declarar dicho subvolumen para que también se monte.

2.3.2.2 Configuración de storage

El atributo storage se utiliza para configurar particiones, RAID, definir sistemas de archivos, crear archivos, etc. Para definir particiones, utilice el atributo disks. El atributo filesystems se utiliza para dar formato a las particiones. El atributo files se puede utilizar para crear archivos en el sistema de archivos. Cada uno de los atributos mencionados se describe en las siguientes secciones.

2.3.2.2.1 El atributo disks

El atributo disks es una lista de dispositivos que permite definir particiones en estos dispositivos. El atributo disks debe contener al menos un device, los demás atributos son opcionales. El siguiente ejemplo utiliza un único dispositivo virtual y divide el disco en cuatro particiones:

{
  "ignition": {
    "version": "3.0.0"
  },
  "storage": {
    "disks": [
      {
        "device": "/dev/vda",
        "partitions": [
          {
            "label": "root",
            "number": 1,
            "typeGuid": "4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709"
          },
          {
            "label": "boot",
            "number": 2,
            "typeGuid": "BC13C2FF-59E6-4262-A352-B275FD6F7172"
          },
          {
            "label": "swap",
            "number": 3,
            "typeGuid": "0657FD6D-A4AB-43C4-84E5-0933C84B4F4F"
          },
          {
            "label": "home",
            "number": 4,
            "typeGuid": "933AC7E1-2EB4-4F13-B844-0E14E2AEF915"
          }
        ],
        "wipeTable": true
      }
    ]
  }
}
2.3.2.2.2 El atributo raid

El atributo raid es una lista de matrices RAID. Los siguientes atributos de raid son obligatorios:

level

es un nivel de la matriz RAID concreta (lineal, raid0, raid1, raid2, raid3, raid4, raid5, raid6).

devices

es una lista de dispositivos de la matriz a los que se hace referencia por sus vías absolutas.

name

es un nombre que se utilizará para el dispositivo md.

Por ejemplo:

{
  "ignition": {
    "version": "3.0.0"
  },
  "storage": {
    "raid": [
      {
        "devices": [
          "/dev/sda",
          "/dev/sdb"
        ],
        "level": "raid1",
        "name": "system"
      }
    ]
  }
}
2.3.2.2.3 El atributo filesystems
Nota
Nota: Ignition no realiza modificaciones en las unidades de montaje

El atributo filesystems no modifica las unidades de montaje. Si añade una partición nueva o elimina una existente, deberá ajustar manualmente las unidades de montaje.

filesystems debe contener los siguientes atributos:

device

es la vía absoluta al dispositivo, normalmente /dev/sda en el caso de un disco físico.

format

es el formato del sistema de archivos (Btrfs, Ext4, xfs, vfat o swap).

Nota
Nota

En el caso de SUSE Linux Micro, el sistema de archivos root debe tener el formato Btrfs.

El siguiente ejemplo muestra el uso del atributo filesystems. El directorio /opt se montará en la partición /dev/sda1, que tiene el formato Btrfs. El dispositivo no se borrará.

Por ejemplo:

{
  "ignition": {
    "version": "3.0.0"
  },
  "storage": {
    "filesystems": [
      {
        "device": "/dev/sda1",
        "format": "btrfs",
        "path": "/opt",
        "wipeFilesystem": false
      }
    ]
  }
}

Habitualmente, el directorio personal de un usuario normal se encuentra en el directorio /home/USER_NAME. Dado que /home no se monta por defecto en initrd, el montaje debe definirse explícitamente para que el usuario se cree correctamente:

{
  "ignition": {
    "version": "3.1.0"
  },
  "passwd": {
    "users": [
      {
        "name": "root",
        "passwordHash": "PASSWORD_HASH",
        "sshAuthorizedKeys": [
          "ssh-rsa SSH_KEY_HASH"
        ]
      }
    ]
  },
  "storage": {
    "filesystems": [
      {
        "device": "/dev/sda3",
        "format": "btrfs",
        "mountOptions": [
          "subvol=/@/home"
        ],
        "path": "/home",
        "wipeFilesystem": false
      }
    ]
  }
}
2.3.2.2.4 El atributo files

Puede utilizar el atributo files para crear cualquier archivo en el equipo. Tenga en cuenta que para crear archivos fuera del esquema de particionamiento por defecto, debe definir los directorios mediante el atributo filesystems.

En el siguiente ejemplo, se crea un nombre de host con el atributo files. El archivo /etc/hostname se creará con el nombre de host sl-micro1:

Importante
Importante

Tenga en cuenta que JSON acepta modos de archivo en números decimales, por ejemplo, 420.

JSON:

{
  "ignition": {
    "version": "3.0.0"
  },
  "storage": {
    "files": [
      {
        "overwrite": true,
        "path": "/etc/hostname",
        "contents": {
          "source": "data:,sl-micro1"
        },
        "mode": 420
      }
    ]
  }
}
2.3.2.2.5 El atributo directories

El atributo directories es una lista de directorios que se crearán en el sistema de archivos. El atributo directories debe contener al menos un atributo path.

Por ejemplo:

{
  "ignition": {
    "version": "3.0.0"
  },
  "storage": {
    "directories": [
      {
        "path": "/home/tux",
        "user": {
          "name": "tux"
        }
      }
    ]
  }
}
2.3.2.3 Administración de usuarios

El atributo passwd se utiliza para añadir usuarios. Dado que algunos servicios, como Cockpit, requieren que se inicie sesión como un usuario que no sea root, defina aquí al menos un usuario sin privilegios. Como alternativa, puede crear un usuario de este tipo desde un sistema en ejecución como se describe en la Sección 5.2, “Adición de usuarios”.

Para iniciar sesión en el sistema, cree un usuario root y uno normal y defina sus contraseñas. Debe usar hash con la contraseña; por ejemplo, mediante el comando openssl:

 openssl passwd -6

El comando crea un hash de la contraseña seleccionada. Utilice este hash como valor del atributo password_hash.

Por ejemplo:

{
  "ignition": {
    "version": "3.0.0"
  },
  "passwd": {
    "users": [
      {
        "name": "root",
        "passwordHash": "PASSWORD_HASH",
        "sshAuthorizedKeys": [
          "ssh-rsa SSH_KEY_HASH USER@HOST"
        ]
      }
    ]
  }
}

El atributo users debe contener al menos un atributo name. ssh_authorized_keys es una lista de claves SSH para el usuario.

2.3.2.4 Habilitación de servicios systemd

Puede habilitar los servicios systemd especificándolos en el atributo systemd.

Por ejemplo:

{
  "ignition": {
    "version": "3.0.0"
  },
  "systemd": {
    "units": [
      {
        "enabled": true,
        "name": "sshd.service"
      }
    ]
  }
}

3 Preparación del servidor TFTP

Para distribuir SUSE Linux Micro mediante el cliente PXE, debe realizar los siguientes pasos:

  1. Revise la configuración de tftpd en /etc/sysconfig/tftp y añada o cambie las opciones según sea necesario. Consulte man 8 tftpd para obtener más información. El daemon TFTP funciona sin necesidad de modificar la configuración. El directorio raíz por defecto para los archivos es /srv/tftpboot.

  2. Asegúrese de que tftpd se inicia durante el arranque y reinícielo para leer la nueva configuración.

              > 
              sudo
              systemctl enable tftp.socket
              > 
              sudo
              systemctl restart tftp.socket

    Asegúrese de que tftp.socket permanece activo durante todo el proceso de distribución, que puede tardar varios minutos.

  3. Prepare la estructura de directorios:

    > sudo mkdir /srv/tftpboot/sl-micro
  4. Desplácese al directorio:

              > 
              cd /srv/tftpboot/sl-micro
  5. Descargue el archivo SL-Micro.ARCHITECTURE-6.1-IMAGE_TYPE-GM.install.tar en el servidor TFTP.

  6. Desempaquete el archivo TAR:

              > 
              sudo
              tar xvf IMAGE_TAR -C .

    Asegúrese de que todos los archivos necesarios estén presentes en /srv/tftpboot/sl-micro:

    > ls
    
    pxeboot.SL-Micro.ARCH-VERSION.kernel
    pxeboot.SL-Micro.ARCH-VERSION.initrd
    SL-Micro.ARCH-VERSION.append 
    SL-Micro.ARCH-VERSION.config.bootoptions
    SL-Micro.ARCH-VERSION.initrd
    SL-Micro.ARCH-VERSION.kernel
    SL-Micro.ARCH-VERSION.md5
    SL-Micro.ARCH-VERSION.xz
  7. Cree enlaces simbólicos de la siguiente manera:

              > 
              sudo
              ln -s pxeboot.*.kernel linux
              > 
              sudo
              ln -s pxeboot.*.initrd initrd
  8. (Opcional) Cree directorios para la configuración del primer arranque: para la configuración de Combustion o Ignition:

    1. Para la configuración de Combustion:

                    # 
                    mkdir combustion
    2. Para la configuración de Ignition:

                    # 
                    mkdir ignition
  9. Coloque la configuración de Combustion o Ignition en los directorios correspondientes.

  10. Ajuste o añada los siguientes parámetros en el archivo SL-Micro.ARCH-6.1.append:

    • rd.kiwi.install.image: proporciona la vía a la imagen de instalación SL-Micro.ARCH6.1.xz. La vía debe incluir el protocolo, la dirección IP y la vía relativa a la imagen de instalación:

      tftp://TFTP_SERVER/sl-micro/IMAGE_NAME

      Si el directorio raíz TFTP está definido, omítalo en la vía. El directorio por defecto /srv/tftboot se puede configurar en /etc/sysconfig/tftp, o puede especificar el directorio en un atributo de archivo de unidad de servicio que define el binario que se ejecutará mediante la opción -s.

    • rd.kiwi.oem.installdevice: permite realizar una instalación sin supervisión.

    • rd.kiwi.install.pass.bootparam: después de que la imagen se haya copiado en el disco de destino, kiwi realiza un kexec. Este parámetro indica a kiwi que debe pasar parámetros adicionales al kernel. Por ejemplo, los descritos a continuación.

    • combustion.url: si es necesario, proporcione una URL completa al guion de Combustion que se pasa a la interfaz de línea de comandos del kernel.

    • ignition.config.url: si es necesario, proporcione una URL completa al archivo de configuración de Ignition que se pasa a la interfaz de línea de comandos del kernel. Se puede utilizar junto con Combustion.

  11. Ajuste el archivo /srv/tftpboot/pxelinux.cfg/default para que incluya SUSE Linux Micro:

    LABEL Install SUSE Linux Micro
        LINUX sl-micro/linux
        INITRD sl-micro/initrd
        APPEND PATH_TO_APPEND_FILE

4 Distribución de la imagen de forma remota

Después de preparar los servidores DHCP y TFTP, puede iniciar la distribución de SUSE Linux Micro en el equipo de destino.

  1. Encienda el equipo de destino.

  2. Acceda al menú de arranque UEFI y seleccione el arranque PXE.

  3. El equipo debe iniciar la distribución. El kernel e initrd se descargan del TFTP. Se inicia el cargador de arranque.

  4. Seleccione Install SUSE Linux Micro. Este elemento puede ser diferente si ha utilizado un valor de LABEL diferente en /srv/tftpboot/pxelinux.cfg/default.

  5. Seleccione un disco para distribuir SUSE Linux Micro y confirme la supresión de datos en ese dispositivo. La imagen se copia en el disco.

  6. Con Kexec, el sistema se rearranca y se prepara para el proceso de configuración.

  7. Inicie el proceso de configuración seleccionando SL Micro. Si no se han proporcionado las instrucciones de Ignition o de Combustion, se activa JeOS Firstboot. Para obtener información detallada, consulte la Sección 4.1, “Configuración de SUSE Linux Micro con JeOS Firstboot”.

4.1 Configuración de SUSE Linux Micro con JeOS Firstboot

Para configurar el sistema con JeOS Firstboot, haga lo siguiente:

  1. JeOS Firstboot muestra una pantalla de bienvenida. Confirme con Intro.

  2. En las siguientes pantallas, seleccione el teclado, confirme el acuerdo de licencia y seleccione la zona horaria.

  3. En la ventana de diálogo Enter root password (Introduzca la contraseña de root), introduzca una contraseña del root y confírmela.

    Introducción de la contraseña del usuario root
    Figura 1: Introducción de la contraseña del usuario root
  4. (Opcional) Para inscribir claves SSH para el acceso, pulse YES (Sí). Si ha pulsado YES (Sí), proceda como se describe a continuación:

    1. Mediante SSH, conéctese a la dirección IP mostrada.

    2. Si ha recibido una clave pública correctamente, confírmela en la siguiente pantalla.

    3. Aparece un mensaje para importar una clave SSH. Seleccione la opción según sus preferencias.

  5. (Opcional) Si lo desea, puede crear un usuario sin privilegios en el formulario User Creation. Escriba dos veces el nombre de usuario, el nombre completo y la contraseña. Confirme haciendo clic en OK (Aceptar).

  6. (Opcional) Para configurar la autenticación multifactor para acceder a Cockpit, abra una aplicación TOTP y escanee el código QR. Introduzca el valor de OTP proporcionado por la aplicación. Para continuar, haga clic en OK (Aceptar).

  7. Después de una distribución correcta, registre el sistema como se describe en la Sección 5.1, “Registro de SUSE Linux Micro desde la interfaz de línea de comandos”.

5 Pasos posteriores a la distribución

5.1 Registro de SUSE Linux Micro desde la interfaz de línea de comandos

Después de una distribución correcta, debe registrar el sistema para obtener asistencia técnica y recibir actualizaciones. Es posible registrar el sistema desde la línea de comandos mediante el comando transactional-update register.

Para registrar SUSE Linux Micro en el Centro de servicios al cliente de SUSE, haga lo siguiente:

  1. Ejecute transactional-update register de la siguiente manera:

    # transactional-update register -r REGISTRATION_CODE -e EMAIL_ADDRESS

    Para registrarse con un servidor de registro local, proporcione también la URL del servidor:

    # transactional-update register -r REGISTRATION_CODE -e EMAIL_ADDRESS \
     --url "https://suse_register.example.com/"

    Sustituya REGISTRATION_CODE por el código de registro que recibió con su copia de SUSE Linux Micro. Sustituya EMAIL_ADDRESS con la dirección de correo electrónico asociada a la cuenta de SUSE que usted o su organización utilicen para gestionar las suscripciones.

  2. Rearranque el sistema para cambiar a la última instantánea.

  3. SUSE Linux Micro ya está registrado.

Nota
Nota: otras opciones de registro

Para obtener más información al respecto, consulte la documentación en línea con SUSEConnect --help.

5.2 Adición de usuarios

Dado que SUSE Linux Micro requiere que un usuario sin privilegios pueda entrar a través de SSH o acceder a Cockpit por defecto, se recomienda crear una cuenta de este tipo.

Este paso es opcional si ha definido un usuario sin privilegios durante la distribución del sistema. Si no es así, puede proceder como se describe a continuación:

  1. Ejecute el comando useradd de la siguiente manera:

                # 
                useradd -m USER_NAME
  2. Defina una contraseña para esa cuenta:

    # passwd USER_NAME
  3. Si es necesario, añada el usuario al grupo wheel:

    # usermod -aG wheel USER_NAME