Secuencia de comandos del cargador de firmware USB de Debian
En este artículo, exploramos un script bash eficiente, debian_firmware_setup.sh
, que simplifica el proceso de integración de firmware no libre, como controladores de Wi-Fi, en su instalación de Debian. El script automatiza la preparación de una memoria USB formateándola, descargando una versión específica del firmware no libre de Debian y extrayéndola en la memoria USB. Esto da como resultado un dispositivo USB listo para usar que se puede implementar durante un proceso de instalación de Debian, facilitando así la configuración de elementos de firmware no libres y reduciendo las molestias asociadas a menudo con la integración manual del firmware.
En este tutorial aprenderás:
Formato USB: el script automatiza el proceso de borrar y formatear una memoria USB seleccionada, preparándola para la instalación del firmware.
Descarga de firmware: Descarga una versión específica del firmware no libre de Debian según lo especificado por el usuario.
Instalación de firmware: el firmware descargado se extrae automáticamente en la memoria USB recién formateada, dejándola lista para usar.
-
Asistiendo a la instalación de Debian: la memoria USB resultante sirve como una herramienta conveniente durante el proceso de instalación de Debian, ayudando a los usuarios a integrar sin esfuerzo firmware no libre, como controladores de Wi-Fi.
Creador de firmware USB de Debian
n esta guía, lo guiaremos a través del proceso de uso del script debian_firmware_setup.sh
. Este script automatiza el proceso de preparación de una memoria USB con una versión específica del firmware Debian no libre. Estos son los pasos detallados para usar este script:
Obtenga el script: necesitará tener el script
debian_firmware_setup.sh
en su sistema. Se puede colocar en cualquier directorio que considere adecuado. Esto podría lograrse copiando y pegando el script desde la fuente donde se proporciona. Aquí está el guión:#!/bin/bash # Check if root if [ "$EUID" -ne 0 ] then echo "Please run as root" exit fi # Check if correct number of arguments are provided if [ "$#" -ne 1 ]; then echo "Usage: $0 " exit 1 fi VERSION=$1 MOUNT_POINT="/mnt/usb" # Get a list of USB devices USB_DEVICES=$(lsblk -do NAME,MODEL,SIZE,TRAN | grep 'usb') # Check if any USB devices were found if [ -z "$USB_DEVICES" ]; then echo "No USB devices found. Please plug in a USB device and try again." exit 1 fi # Convert the devices into an array USB_DEVICES=($USB_DEVICES) # Print the USB devices and ask the user to choose one IFS=$'\n' for i in $(lsblk -do NAME,MODEL,SIZE,TRAN | grep 'usb'); do DEVICES+=("$i") done for i in "${!DEVICES[@]}"; do echo "$((i+1)). ${DEVICES[$i]}" done echo "Please enter the number of the device you want to format:" read NUMBER DEVICE="/dev/$(echo ${DEVICES[$((NUMBER-1))]} | awk '{print $1}')" # Unmount if mounted if mount | grep -q $DEVICE; then echo "Device $DEVICE is mounted. Unmounting..." umount $DEVICE* fi # Wipe old signatures wipefs --all --force $DEVICE # Create the partition echo -e "o\nn\np\n1\n\n\nt\nb\nw" | fdisk $DEVICE # Create the filesystem with a delay sleep 5 # Add delay to ensure /dev/sda1 will be available PARTITION=${DEVICE}1 mkfs.vfat $PARTITION # Create mount point if it doesn't exist mkdir -p $MOUNT_POINT # Mount the partition mount $PARTITION $MOUNT_POINT # Verify if the partition is mounted if ! mount | grep -q $PARTITION; then echo "Failed to mount $PARTITION. Cannot proceed with writing data." exit 1 fi # Download the firmware FIRMWARE_URL="http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/$VERSION/current/firmware.tar.gz" wget -P $MOUNT_POINT $FIRMWARE_URL # Extract the firmware tar -xvzf $MOUNT_POINT/firmware.tar.gz -C $MOUNT_POINT # Unmount the partition if it's mounted if mount | grep -q $PARTITION; then umount $PARTITION fi echo "The script has finished."
Haga que el script sea ejecutable: una vez que tenga el script en su sistema, navegue hasta el directorio donde se encuentra usando la terminal y hágalo ejecutable usando el siguiente comando:
$ chmod +x debian_firmware_setup.sh
Ejecutar el script: el script debe ejecutarse como usuario root. Además, debe proporcionar la versión Debian del firmware no gratuito que desea descargar. Utilice el siguiente comando para ejecutar el script:
$ sudo ./debian_firmware_setup.sh <Debian version> eg. bookworm
Reemplace
con la versión del firmware de Debian que desea descargar. Elija la memoria USB: la secuencia de comandos enumerará todos los dispositivos USB conectados con sus nombres y tamaños, y le pedirá que seleccione uno. Escriba el número correspondiente al dispositivo USB que desea formatear y presione Enter. Tenga cuidado en este paso ya que se formateará la memoria USB elegida y se borrarán todos los datos que contenga.
Espere a que se complete el proceso: el script desmontará el dispositivo seleccionado (si estaba montado), lo borrará, creará una nueva partición, lo formateará, lo montará y descargará la versión especificada del firmware de Debian. , extraiga el firmware en la partición recién creada y finalmente desmonte la partición.
Tenga en cuenta que la conexión a Internet es necesaria para que el script descargue el firmware de Debian. Asegúrese de utilizar esta memoria USB durante el proceso de instalación de Debian para integrar perfectamente el firmware no libre.
Recuerde, utilice siempre este script con precaución, ya que formatea el dispositivo USB seleccionado, lo que provoca la pérdida de todos los datos del dispositivo.
Conclusión
En conclusión, el script
debian_firmware_setup.sh
es una poderosa herramienta que simplifica el proceso de preparación de una memoria USB con firmware específico no libre de Debian. Su automatización elimina las complejidades que a menudo se asocian con el formateo manual de USB, la descarga de firmware y los procesos de extracción. Al solicitar al usuario que elija entre los dispositivos USB conectados, garantizar el montaje y desmontaje exitosos y manejar todas las operaciones relacionadas con la configuración del firmware, este script agiliza el proceso de instalación de Debian, especialmente cuando se trata de la integración de firmware no libre como Wi-Fi. Conductores de Fi. Sin embargo, proceda siempre con precaución al utilizar dichos scripts, ya que implican operaciones de formateo, que provocan la pérdida de todos los datos existentes en la memoria USB seleccionada. Con esta utilidad en su arsenal, configurar Debian con firmware no libre específico se convierte en una tarea sencilla.