aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFernando Apesteguía <fernape@FreeBSD.org>2022-08-27 21:42:08 +0000
committerFernando Apesteguía <fernape@FreeBSD.org>2022-08-28 15:37:53 +0000
commit88018e1c356dbc41a3fbd406e43737dd02a8f450 (patch)
treeb19fee73a6d591b3eec3e00387fd1f4891a0c356
parentb73f89688b23b522e9ef294e2e8e621844d23f83 (diff)
downloaddoc-88018e1c35.tar.gz
doc-88018e1c35.zip
[doc-es][artciles/nanobsd]: Finish translation
Also, change to more informal language where appropriate.
-rw-r--r--documentation/content/es/articles/nanobsd/_index.adoc259
-rw-r--r--documentation/content/es/articles/nanobsd/_index.po1548
2 files changed, 1726 insertions, 81 deletions
diff --git a/documentation/content/es/articles/nanobsd/_index.adoc b/documentation/content/es/articles/nanobsd/_index.adoc
index fa0446375c..287ea3e9bb 100644
--- a/documentation/content/es/articles/nanobsd/_index.adoc
+++ b/documentation/content/es/articles/nanobsd/_index.adoc
@@ -1,8 +1,11 @@
---
-title: Introducción a NanoBSD
authors:
- - author: Daniel Gerzo
-copyright: 2006 The FreeBSD Documentation Project
+ -
+ author: 'Daniel Gerzo'
+copyright: '2006 The FreeBSD Documentation Project'
+description: 'Este documento proporciona información sobre las herramientas NanoBSD, las cuales pueden ser usadas para crear imágenes de FreeBSD para aplicaciones embebidas, adecuadas para su uso en una memoria USB, tarjeta de memoria, u otro medio de almacenamiento.'
+tags: ["nanobsd", "guide", "embedded", "FreeBSD"]
+title: 'Introducción a NanoBSD'
trademarks: ["freebsd", "general"]
---
@@ -40,7 +43,7 @@ endif::[]
[.abstract-title]
Resumen
-Este documento provee información acerca de la herramienta NanoBSD, la cual puede ser usada para crear imágenes del sistema de FreeBSD para aplicaciones embebidas, adecuadas para ser usadas en una tarjeta Compact Flash (o cualquier otro medio de almacenamiento masivo).
+Este documento proporciona información sobre las herramientas NanoBSD, las cuales pueden ser usadas para crear imágenes de FreeBSD para aplicaciones embebidas, adecuadas para su uso en una memoria USB, tarjeta de memoria, u otro medio de almacenamiento.
'''
@@ -49,39 +52,39 @@ toc::[]
[[intro]]
== Introducción a NanoBSD
-NanoBSD es una herramienta actualmente desarrollada por Poul-Henning Kamp mailto:phk@FreeBSD.org[phk@FreeBSD.org]. Crea una imagen del sistema de FreeBSD para aplicaciones embebidas, adecuada para ser usada en una tarjeta Compact Flash (o cualquier otro medio de almacenamiento masivo).
+NanoBSD es una herramienta desarrollada por {phk} y mantenida ahora por {imp}. La herramienta crea una imagen para aplicaciones embebidas, adecuada para su uso en una memoria USB, tarjeta de memoria, u otro medio de almacenamiento.
-Puede usarse para crear imágenes de instalación especializadas, diseñadas para instalar y mantener sistemas comúnmente llamados "aparatos de computación". Los aparatos de computación incluyen el hardware y software en el mismo producto, lo cual significa que todas las aplicaciones vienen preinstaladas. El aparato se conecta a una red existente y puede comenzar a funcionar (casi) de inmediato.
+Puede usarse para crear imágenes de instalación especializadas, diseñadas para instalar y mantener sistemas comúnmente llamados "aparatos de computación" (computer appliances). Los aparatos de computación incluyen el hardware y software en el mismo producto, lo cual significa que todas las aplicaciones vienen preinstaladas. El aparato se conecta a una red existente y puede comenzar a funcionar (casi) de inmediato.
-Las características de NanoBSD incluyen:
+Las funcionalidades de NanoBSD incluyen:
-* Los ports y paquetes funcionan de la misma manera que en FreeBSD -- Cada aplicación puede ser instalada y usada en una imagen de NanoBSD, de la misma manera que en FreeBSD.
-* No hay perdida de funcionalidad -- Si era posible hacer algo con FreeBSD, también será posible hacerlo con NanoBSD, a menos que esa característica específica haya sido eliminada de la imagen de NanoBSD cuando fue creada.
-* Todo es de solo lectura en tiempo de ejecución -- Es seguro desconectar el cable del enchufe. No hay necesidad de ejecutar man:fsck[8] después de que el sistema se apague de una forma brusca.
-* Es fácil de crear y personalizar -- Haciendo uso de un único script y solamente un archivo de configuración, es posible crear imágenes reducidas y personalizadas para satisfacer un conjunto arbitrario de requisitos.
+* Los ports y paquetes funcionan de la misma manera que en FreeBSD — Cada aplicación puede ser instalada y usada en una imagen de NanoBSD, de la misma manera que en FreeBSD.
+* No se pierde funcionalidad - Si es posible hacer algo con FreeBSD, es posible hacer lo mismo con NanoBSD, excepto si las funciones específicas fueron explícitamente eliminadas de la imagen de NanoBSD cuando fue creada.
+* El sistema es de sólo lectura en tiempo de ejecución, por lo tanto es seguro quitar el cable de alimentación. No hay necesidad de correr man:fsck[8] después de un apagado abrupto del sistema.
+* Es fácil de crear y personalizar — Haciendo uso de un único script y solamente un archivo de configuración, es posible crear imágenes reducidas y personalizadas para satisfacer un conjunto arbitrario de requisitos.
[[howto]]
== NanoBSD paso a paso
[[design]]
-=== El diseño de NanoBSD
+=== El Diseño de NanoBSD
-Una vez que la imagen se encuentre presente en el medio es posible arrancar NanoBSD. El medio de almacenamiento masivo está dividido por defecto en tres partes:
+Una vez que la imagen está presente en el medio, es posible arrancar NanoBSD. El medio de almacenamiento está dividido por defecto en tres partes:
-* Dos particiones de la imagen: `code#1` y `code#2`.
-* La partición del archivo de configuración, la cual puede ser montada bajo el directorio [.filename]#/cfg# en tiempo de ejecución.
+* Dos particiones de imagen: `code#1` y `code#2`.
+* La partición del archivo de configuración, que se puede montar bajo el directorio [.filename]#/cfg# en tiempo de ejecución.
Estas particiones normalmente se montan como solo lectura.
-Los directorios [.filename]#/etc# y [.filename]#/var# son discos man:md[4] (malloc).
+Los directorios [.filename]#/etc# y [.filename]#/var# son discos malloc (malloc disks) man:md[4].
-La partición del archivo de configuración reside en el directorio [.filename]#/cfg#. Contiene archivos para el directorio [.filename]#/etc# y se monta brevemente como una partición de solo lectura tras el arranque del sistema; por consiguiente, es necesaria para copiar archivos modificados desde [.filename]#/etc# de vuelta hacia el directorio [.filename]#/cfg# si se espera que los cambios persistan después de reiniciar el sistema.
+La partición del archivo de configuración reside en el directorio [.filename]#/cfg#. Contiene archivos para el directorio [.filename]#/etc# y se monta brevemente como una partición de solo lectura tras el arranque del sistema; por lo tanto, es necesaria para copiar archivos modificados desde [.filename]#/etc# de vuelta hacia el directorio [.filename]#/cfg# si se espera que los cambios persistan después de reiniciar el sistema.
-.Hacer modificaciones persistentes de [.filename]#/etc/resolv.conf#
+.Haciendo Cambios Persistentes en [.filename]#/etc/resolv.conf#
[example]
====
-[source,shell]
+[source, shell]
....
# vi /etc/resolv.conf
[...]
@@ -89,22 +92,23 @@ La partición del archivo de configuración reside en el directorio [.filename]#
# cp /etc/resolv.conf /cfg
# umount /cfg
....
+
====
[NOTE]
====
La partición que contiene [.filename]#/cfg# debería ser montada solo en el arranque y cuando se sustituyan las directivas de los archivos de configuración.
-Mantener [.filename]#/cfg# montado todo el tiempo no es una buena idea, especialmente si el sistema NanoBSD se ejecuta en un medio de almacenamiento masivo que puede verse afectado negativamente por un alto número de escrituras a la partición (como cuando el sincronizador del sistema de archivos vuelca los datos hacia los discos del sistema).
+Mantener [.filename]#/cfg# montado todo el tiempo no es una buena idea, especialmente si el sistema NanoBSD se ejecuta en un medio de almacenamiento masivo que puede verse afectado negativamente por un alto número de escrituras en la partición (como cuando el sincronizador del sistema de archivos vuelca los datos hacia los discos del sistema).
====
-=== Compilar una imagen de NanoBSD
+=== Compilar una Imagen de NanoBSD
-Una imagen de NanoBSD se compila usando un simple shell script [.filename]#nanobsd.sh#, que se encuentra en el directorio [.filename]#/usr/src/tools/tools/nanobsd#. Este script crea una imagen, que puede ser copiada al medio de almacenamiento usando la utilidad man:dd[1].
+Una imagen de NanoBSD se construye usando el sencillo script [.filename]#nanobsd.sh# que puede encontrarse en el directorio [.filename]#/usr/src/tools/tools/nanobsd#. Este script crea una imagen que se puede copiar al medio de almacenamiento utilizando la herramienta man:dd[1].
-Los comandos necesarios para compilar una imagen de NanoBSD son:
+Los comandos necesarios para construir una imagen NanoBSD son:
-[source,shell]
+[source, shell]
....
# cd /usr/src/tools/tools/nanobsd <.>
# sh nanobsd.sh <.>
@@ -112,21 +116,69 @@ Los comandos necesarios para compilar una imagen de NanoBSD son:
# dd if=_.disk.full of=/dev/da0 bs=64k <.>
....
-<.> Cambie el directorio actual al directorio base del script de compilación de NanoBSD.
+<.> Cambia el directorio actual por el directorio base del script de construcción de NanoBSD.
+
+<.> Comienza el proceso de compilación.
+
+<.> Cambia el directorio actual por el lugar donde se encuentran las imágenes compiladas.
+
+<.> Instala NanoBSD en el medio de almacenamiento.
+
+==== Opciones al Construir una Imagen de NanoBSD
+
+Cuando se construye una imagen de NanoBSD, se pueden pasar varias opciones a [.filename]#nanobsd.sh# en la línea de comando. Estas opciones pueden tener un impacto significativo en el proceso de construcción.
+
+Algunas opciones tienen propósitos de verbosidad:
+
+* `-h`: imprime un resumen de la página de ayuda.
+* `-q`: hace que la salida sea más silenciosa.
+* `-v`: hace que la salida sea más verbosa
+
+Otras opciones se pueden usar para restringir el proceso de construcción. A veces no es necesario reconstruir todo desde las fuentes, especialmente si ya se ha construido una imagen y sólo se han hecho pequeños cambios.
+
+* `-k`: no construir el kernel
+* `-w`: no construir world
+* `-b`: no construir ni el kernel ni world
+* `-i`: no construir una imagen de disco. Como no se creará un fichero, no será posible copiarlo con man:dd[1] al medio de almacenamiento.
+* `-f`: no construir una imagen de disco de la primera partición (útil para actualizaciones)
+* `-n`: añade `-DNO_CLEAN` a `buildworld`, `buildkernel`. También se guardan todos los ficheros que se hayan construido en una ejecución previa.
+
+Se puede usar un fichero de configuración para ajustar cuantos elementos como se quiera. Cárgalo con `-c`
-<.> Comience el proceso de compilación.
+Las últimas opciones son:
-<.> Cambie el directorio actual por el lugar donde se encuentren las imágenes compiladas.
+* `-K`: no instalar un kernel. Una imagen de disco sin un kernel no será capaz de realizar una secuencia normal de arranque.
-<.> Instale NanoBSD en el medio de almacenamiento.
+==== El Proceso Completo de Creación de Imágenes
-=== Personalizar una imagen de NanoBSD
+El proceso completo de creación de imágenes tiene muchos pasos. Los pasos exactos dependerán de las opciones escogidas cuando se inicia el script. Asumiendo que el script se ejecuta sin opciones particulares, esto es lo que pasará.
-Esta es probablemente la característica más importante y más interesante de NanoBSD. También es la que le llevará más tiempo cuando se encuentre desarrollando con NanoBSD.
+. `run_early_customize`: comandos que se definen en un fichero de configuración que se ha proporcionado.
+. `clean_build`: Simplemente limpia el entorno de construcción mediante el borrado de ficheros construidos previamente.
+. `make_conf_build`: Ensambla make.conf a partir de las variables `CONF_WORLD` y `CONF_BUILD`.
+. `build_world`: Construye world.
+. `build_kernel`: Construye los ficheros del kernel.
+. `clean_world`: Limpia el directorio de destino.
+. `make_conf_install`: Ensambla make.conf a partir de las variables `CONF_WORLD` y `CONF_INSTALL`.
+. `install_world`: Instala todos los ficheros construidos durante la fase `buildworld`.
+. `install_etc`: Instala los ficheros necesarios en el directorio [.filename]#/etc# basándose en el comando `make distribution`.
+. `setup_nanobsd_etc`: la primera configuración específica de NanoBSD tiene lugar en esta fase. Se crea [.filename]#/etc/diskless# y se define el sistema de ficheros raíz como sólo lectura.
+. `install_kernel`: se instalan los ficheros del kernel y los módulos.
+. `run_customize`: se llama a todas las rutinas personalizadas definidas por el usuario.
+. `setup_nanobsd`: se configura un esquema especial de directorios de configuración. [.filename]#/usr/local/etc# se mueve a [.filename]#/etc/local# y se crea un enlace simbólico de vuelta desde [.filename]#/etc/local# a [.filename]#/usr/local/etc#.
+. `prune_usr`: se eliminan los directorios vacíos de [.filename]#/usr#.
+. `run_late_customize`: en este punto se ejecutan los últimos scripts personalizados.
+. `fixup_before_diskimage`: Lista todos los ficheros instalados en un metalog.
+. `create_diskimage`: crea la imagen de disco real basada en los parámetros proporcionados sobre las geometrías del disco.
+. `last_orders`: no hace nada de momento.
-Invocar el siguiente comando forzará a [.filename]#nanobsd.sh# a leer su configuración desde el archivo [.filename]#myconf.nano# localizado en el directorio actual:
+=== Personalizar una Imagen de NanoBSD
-[source,shell]
+Esta es probablemente la característica más importante y más interesante de NanoBSD. Es también donde pasarás la mayor parte del tiempo cuando desarrolles con NanoBSD.
+
+Invocar el siguiente comando forzará a [.filename]#nanobsd.sh# a leer su configuración desde el archivo [.filename]#myconf.nano# situado en el directorio actual:
+
+[source, shell]
....
# sh nanobsd.sh -c myconf.nano
....
@@ -136,23 +188,67 @@ La personalización puede realizarse de dos formas:
* Opciones de configuración
* Funciones personalizadas
-==== Opciones de configuración
+==== Opciones de Configuración
-Con las preferencias de configuración, es posible configurar las opciones pasadas a las etapas `buildworld` e `installworld` del proceso de compilación de NanoBSD, así como también opciones internas pasadas al proceso de compilación principal de NanoBSD. A través de estas opciones es posible reducir el sistema, para que pueda entrar en un espacio tan pequeño como 64MB. Puede utilizar estas opciones de configuración para reducir el tamaño de FreeBSD aún más, hasta que consista únicamente en el kernel y dos o tres archivos en espacio de usuario.
+Con las opciones de ajuste, es posible configurar opciones que se pasan tanto a la fase `buildworld` como a la fase `installworld` del proceso de construcción de NanoBSD, así como opciones internas pasadas al proceso principal de construcción de NanoBSD. Mediante estas opciones es posible hacer más pequeño el sistema de forma que quepa en tan solo 64 MB. Puedes utilizar las opciones de configuración para hacer FreeBSD incluso más pequeño hasta que consista sólo en el kernel y en dos o tres ficheros en espacio de usuario.
El archivo de configuración consiste en opciones de configuración que sobrescriben los valores por defecto. Las directivas más importantes son:
-* `NANO_NAME` -- Nombre de la compilación (utilizada para crear los nombres de los directorios de trabajo).
-* `NANO_SRC` -- Ruta al archivo fuente utilizada para compilar la imagen.
-* `NANO_KERNEL` -- Nombre del archivo de configuración del kernel utilizado para compilar el kernel.
-* `CONF_BUILD` -- Opciones pasadas a la etapa `buildworld` del proceso de compilación.
-* `CONF_INSTALL` -- Opciones pasadas a la etapa `installworld` del proceso de compilación.
-* `CONF_WORLD` -- Opciones pasadas a las etapas `buildworld` e `installworld` del proceso de compilación.
-* `FlashDevice` -- Define el tipo de medio que se usará. Consulte [.filename]#FlashDevice.sub# para más detalles.
+* `NANO_NAME` - Nombre de la construcción (utilizado para los nombres de los directorios de construcción).
+* `NANO_SRC` - Ruta al árbol de fuentes utilizado para construir la imagen.
+* `NANO_KERNEL` - Nombre del fichero de configuración del kernel utilizado para construir el kernel.
+* `CONF_BUILD` - Opciones pasadas a la fase de construcción `buildworld`.
+* `CONF_INSTALL` - Opciones pasadas a la fase de construcción `installworld`.
+* `CONF_WORLD` - Opciones pasadas a las fases de construcción `buildworld` e `installworld`.
+* `FlashDevice` - Define el tipo de medio a utilizar. Consulta [.filename]#FlashDevice.sub# para más detalles.
+
+Hay muchas más opciones de configuración que podrían ser relevantes dependiendo del tipo de NanoBSD que se desea.
+
+===== Personalización General
+
+Hay tres etapas, por diseño, en las cuales es posible hacer cambios que afectan al proceso de construcción, simplemente estableciendo una variable en el fichero de configuración proporcionado:
+
+* `run_early_customize`: antes de que se haga cualquier otra cosa.
+* `run_customize`: después de que se hayan dispuesto todos los ficheros estándar
+* `run_late_customize`: al final del proceso, justo antes de que se cree la imagen definitiva de NanoBSD.
+
+Para personalizar una imagen de NanoBSD, en cualquiera de estos pasos, es mejor añadir un valor específico a la variable que corresponda.
+
+La variable `NANO_EARLY_CUSTOMIZE` se utiliza en el primer paso del proceso de construcción. En este momento no hay un ejemplo de lo que se puede hacer con esta variable, pero esto podría cambiar en el futuro.
+
+La variable `NANO_CUSTOMIZE` se utiliza después de que se hayan instalados los ficheros del kernel, world y configuración y de que los ficheros de etc se hayan configurado para que sean una instalación de NanoBSD. Así que es el paso correcto del proceso de construcción para ajustar las opciones de configuración y añadir paquetes como se hace en el ejemplo cust_nobeastie.
+
+La variable `NANO_LATE_CUSTOMIZE` se usa justo antes de que se cree la imagen de disco, así que es el último momento para poder cambiar algo. Recuerda que la rutina `setup_nanobsd` ya se ha ejecutado y que los directorios [.filename]#etc#, [.filename]#conf# and [.filename]#cfg# y subdirectorios ya se han modificado, así que no es el momento de cambiar nada. Más bien es posible añadir o eliminar ficheros específicos.
+
+===== Opciones de Arranque
+
+También hay variables que pueden cambiar la forma en la que arranca una imagen de NanoBSD. Se pasan dos opciones a man:boot0cfg[8] para inicializar el sector de arranque de la imagen de disco:
+
+* `NANO_BOOT0CFG`
+* `NANO_BOOTLOADER`
+
+Con `NANO_BOOTLOADER` se puede escoger un fichero de bootloader. Las opciones posibles más habituales son [.filename]#boot0sio# y [.filename]#boot0# dependiendo de si el dispositivo tiene o no puerto serie. Es mejor evitar proporcionar un bootloader diferente, pero es posible. Para hacerlo, lo mejor es consultar el capítulo sobre el proceso de arranque en el extref:{handbook}boot[FreeBSD Handbook].
+
+Con `NANO_BOOT0CFG` se puede modificar el proceso de arranque como por ejemplo seleccionar desde qué partición arrancará la imagen de NanoBSD. Es mejor consultar la página man:boot0cfg[8] antes de cambiar el valor por defecto de esta variable. Una opción que podría ser interesante cambiar es el tiempo de espera del procedimiento de arranque. Para ello, se puede cambiar la variable `NANO_BOOT0CFG` a `"-o packet -s 1 -m 3 -t 36"`. De este modo el proceso de arranque empezaría después de aproximadamente 2 segundos; porque es raro que se quiera esperar 10 segundos antes de arrancar.
+
+Está bien saber esto: la variable `NANO_BOOT2CFG` sólo se usa en la rutina `cust_comconsole` que se puede llamar en el paso `NANO_CUSTOMIZE` si el dispositivo tiene un puerto serie y toda la entrada y salida de la consola tiene que ir a través de él. Asegúrate de comprobar los parámetros relevantes del puerto serie ya que establecer un parámetro a un valor erróneo puede inhabilitar el puerto.
+
+===== Creación de una Imagen de Disco
+
+Al final del proceso de arranque se encuentra la creación de la imagen de disco. Con este paso, el script de Nano BSD proporciona un fichero que puede ser copiado simplemente en el disco del dispositivo y que hará que arranque.
+
+Hay muchas variables que se tienen que configurar bien para que el script produzca una imagen de disco que sea utilizable.
+
+* La variable `NANO_DRIVE` tiene que establecerse al nombre de la unidad del medio en tiempo de ejecución. Normalmente, el valor por defecto `ada0`, que representa al primer dispositivo `IDE`/`ATA`/`SATA` en la unidad, se espera que sea correcto pero se podría usar un tipo diferente de almacenamiento - como una llave USB, en cuyo caso sería mejor usar da0.
+* La variable `NANO_MEDIASIZE` se tiene que establecer al tamaño (en sectores de 512 bytes) del medio de almacenamiento que se utilizará. Si lo estableces de forma incorrecta, es posible que la imagen de NanoBSD no arranque en absoluto y se mostrará un mensaje durante el arranque avisando de una geometría de disco incorrecta.
+
+* Los directorios [.filename]#/etc#, [.filename]#/var#, y [.filename]#/tmp# se reservan como discos(malloc) man:md[4] en el arranque; de forma que sus tamaños se pueden ajustar par satisfacer las necesidades del dispositivo. La variable `NANO_RAM_ETCSIZE` establece el tamaño de [.filename]#/etc#; y la variable `NANO_RAM_TMPVARSIZE` establece el tamaño de los directorios [.filename]#/var# y [.filename]#/tmp# puesto que [.filename]#/tmp# está enlazado simbólicamente a [.filename]#/var/tmp#. Por defecto, los tamaños de ambos discos malloc se establece a 20MB cada uno. Siempre se pueden cambiar, pero normalmente [.filename]#/etc# no crece demasiado por lo que 20MB es un buen puntor de partida, mientras que [.filename]#/var# y especialmente [.filename]#/tmp# pueden crecer mucho más si no ponemos cuidado. Para sistemas con limitaciones de memoria, se pueden escoger sistemas de ficheros más pequeños.
+* Como NanoBSD está diseñado principalmente para construir una imagen de un sistema para un aparato, se asume que el medio de almacenamiento será relativamente pequeño. Por esa razón, el sistema de ficheros que se establece está configurado para tener un tamaño de bloque pequeño (4Kb) y un tamaño de fragmento pequeño (512b). Las opciones de configuración del sistema de ficheros se pueden configurar mediante la variable `NANO_NEWFS`, pero la sintaxis debe respetar el formato del comando man:newfs[8] . El sistema de ficheros también tiene Soft Updates activado por defecto. Se puede leer sobre esto en el extref:{handbook}[FreeBSD Handbook].
+* Los diferentes tamaños de partición se pueden establecer mediante el uso de `NANO_CODESIZE`, `NANO_CONFSIZE`, y `NANO_DATASIZE` como múltiplos de sectores de 512 bytes. `NANO_SIZE` define el tamaño de las dos primeras particiones: `code#1` and `code#2`. Tienen que ser suficientemente grandes para contener todos los ficheros que se producirán como resultado de los procesos `buildworld` y `buildkernel`. `NANO_CONFSIZE` define el tamaño de la partición de ficheros de configuración por lo que no tiene que ser muy grande; pero no la hagas tan pequeña que no pueda albergar los ficheros. Por último `NANO_DATASIZE` define el tamaño de una partición opcional, que se puede usar en el dispositivo. Por ejemplo, se puede utilizar la última partición para mantener en disco ficheros creados al vuelo.
==== Funciones Personalizadas
-Es posible configurar cada aspecto de NanoBSD utilizando funciones del shell en el archivo de configuración. El siguiente ejemplo ilustra el modelo básico de funciones personalizadas:
+Es posible afinar NanoBSD utilizando funciones del shell en el fichero de configuración. El siguiente ejemplo ilustra el modelo básico de las funciones personalizadas:
[.programlisting]
....
@@ -176,29 +272,24 @@ customize_cmd cust_etc_size
Estas son algunas funciones de personalización incluidas por defecto y listas para ser usadas:
-* `cust_comconsole` -- Deshabilita man:getty[8] en los dispositivos VGA (los nodos de dispositivo [.filename]#/dev/ttyv*#) y habilita el uso del puerto serie COM1 como la consola del sistema.
-* `cust_allow_ssh_root` -- Permite que `root` se autentique mediante man:sshd[8].
-* `cust_install_files` -- Instala archivos desde el directorio [.filename]#nanobsd/Files#, el cual contiene algunos scripts útiles para la administración del sistema.
+* `cust_comconsole` - Deshabilita man:getty[8] en los dispositivos VGA (los nodos de dispositivo [.filename]#/dev/ttyv*#) y habilita el uso del puerto serie COM1 como consola del sistema.
+* `cust_allow_ssh_root` - Permite al usuario `root` hacer login vía man:sshd[8].
+* `cust_install_files` - Instala ficheros desde el directorio [.filename]#nanobsd/Files#, el cual contiene algunos scripts útiles para la administración del sistema.
-==== Agregando paquetes
+==== Agregando Paquetes
-Pueden agregarse paquetes a la imagen de NanoBSD utilizando una función personalizada. La siguiente función instalará todos los paquetes situados en [.filename]#/usr/src/tools/tools/nanobsd/packages#:
+Se pueden agregar paquetes a una imagen de NanoBSD para proporcionar funcionalidades específicas para el dispositivo. Para ello, o bien:
-[.programlisting]
-....
-install_packages () (
-mkdir -p ${NANO_WORLDDIR}/packages
-cp /usr/src/tools/tools/nanobsd/packages/* ${NANO_WORLDDIR}/packages
-cp $(which pkg-static) ${NANO_WORLDDIR}/
-chroot ${NANO_WORLDDIR} sh -c 'cd packages; /pkg-static add *;cd ..;'
-rm -rf ${NANO_WORLDDIR}/packages ${NANO_WORLDDIR}/pkg-static
-)
-customize_cmd install_packages
-....
+* Añade `cust_pkgng` a la variable `NANO_CUSTOMIZE`, o
+* Añade el comando `'customize_cmd cust_pkgng'` en un fichero de configuración personalizado.
+
+Ambos métodos consiguen el mismo resultado: lanzar la rutina `cust_pkgng`. Esta rutina recorrerá el directorio `NANO_PACKAGE_DIR` para encontrar bien todos los paquetes o sólo la lista de paquetes de la variable `NANO_PACKAGE_LIST`.
-==== Ejemplo de archivo de configuración
+Cuando se instalan aplicaciones mediante pkg en un entorno FreeBSD estándar, es habitual que el proceso de instalación cree ficheros de configuración en el directorio [.filename]#/usr/local/etc#, y scripts de arranque en el directorio [.filename]#/usr/local/etc/rc.d#. De modo que después de que se hayan instalado los paquetes necesarios, necesitan ser configurados para que estén listos para usar. Para ello se tienen que instalar los ficheros de configuración necesarios en los directorios correctos. Esto se puede conseguir escribiendo rutinas dedicadas o se puede utilizar la rutina genérica `cust_install_files` para copiar los ficheros desde el directorio [.filename]#/usr/src/tools/tools/nanobsd/Files#. Para cada paquete normalmente se necesita añadir una línea (a veces varias) en [.filename]#/etc/rc.conf#.
-Un ejemplo completo de un archivo de configuración para crear una imagen personalizada de NanoBSD podría ser:
+==== Ejemplo de Archivo de Configuración
+
+Un ejemplo completo de un archivo de configuración para construir una imagen personalizada de NanoBSD podría ser:
[.programlisting]
....
@@ -253,64 +344,70 @@ customize_cmd cust_allow_ssh_root
customize_cmd cust_nobeastie
....
+Todas las opciones de construcción e instalación se pueden encontrar en la página del manual de man:src.conf[5], pero no todas las opciones se pueden o se deben usar cuando se construye una imagen de NanoBSD. Las opciones de construcción e instalación se deberían definir de acuerdo a las necesidades de la imagen que se está construyendo.
+
+Por ejemplo, el cliente y el servidor de ftp podrían no ser necesarios. Añadir `WITHOUT_FTP=TRUE` a un fichero de configuración en la sección `CONF_BUILD` evitará compilarlos. También, si el dispositivo NanoBSD no se va a usar para construir programas entonces es posible añadir `WITHOUT_BINUTILS=TRUE` en la sección `CONF_INSTALL`; pero no en la sección `CONF_BUILD` ya que serán usadas para construir la imagen de NanoBSD.
+
+Evitar compilar un conjunto de programas en particular - mediante una opción de compilación - acorta el tiempo total de construcción y reduce el tamaño necesario para la imagen de disco, mientras que no instalar dicho conjunto de programas no disminuye el tiempo total de construcción.
+
=== Actualizando NanoBSD
El proceso de actualización de NanoBSD es relativamente simple:
[.procedure]
====
-. Compile una nueva imagen de NanoBSD, como de costumbre.
-. Suba la nueva imagen a una partición sin usar de un aparato NanoBSD que se encuentre en ejecución.
-+
+. Construye una nueva imagen de NanoBSD de forma habitual.
+. Sube la imagen nueva a una partición sin usar en el dispositivo que esté ejecutando NanoBSD.
++
La diferencia más importante entre este paso y la instalación inicial de NanoBSD es que ahora, en lugar de usar [.filename]#\_.disk.full# (que contiene la imagen completa del disco), se instala la imagen [.filename]#_.disk.image# (la cual contiene la imagen de una sola partición del sistema).
-. Reinicie y arranque el sistema desde la partición recién instalada.
-. Si todo terminó correctamente, la actualización habrá finalizado.
-. Si algo sale mal, reinicie en la partición anterior (que contiene la antigua imagen que funciona correctamente), para restaurar la funcionalidad del sistema tan rápido como sea posible. Arregle los problemas de la nueva imagen y repita el proceso.
+. Reinicia y arranca el sistema desde la partición recién instalada.
+. Si todo termina correctamente, la actualización habrá finalizado.
+. Si algo sale mal, reinicia en la partición anterior (que contiene la antigua imagen que funciona correctamente), para restaurar la funcionalidad del sistema tan rápido como sea posible. Arregla los problemas de la nueva imagen y repite el proceso.
====
-Para instalar la nueva imagen en el sistema NanoBSD actual, es posible usar los scripts [.filename]#updatep1# o [.filename]#updatep2# que se encuentran en el directorio [.filename]#/root#, dependiendo de la partición desde la que esté ejecutando el sistema actual.
+Para instalar una nueva imagen en un sistema que está ejecutando NanoBSD, es posible utilizar los scripts [.filename]#updatep1# o [.filename]#updatep2# que se encuentran en el directorio [.filename]#/root#, dependiendo de la partición desde la que se esté ejecutando el sistema actual.
-Según que servicios que se encuentren disponibles en el huésped sirviendo la nueva imagen NanoBSD y el tipo de transferencia que se prefiera, es posible utilizar uno de estos tres métodos:
+Dependiendo de los servicios disponibles en el host que ofrece la nueva imagen de NanoBSD y el tipo de transferencia preferido, es posible examinar uno de estos tres métodos:
-==== Usando man:ftp[1]
+==== Usar man:ftp[1]
-Si la velocidad de transferencia es una prioridad para usted, utilice este ejemplo:
+Si la velocidad de transferencia es una prioridad, utiliza este ejemplo:
-[source,shell]
+[source, shell]
....
# ftp myhost
get _.disk.image "| sh updatep1"
....
-==== Usando man:ssh[1]
+==== Usar man:ssh[1]
-Si prefiere una transferencia segura, considere usar este ejemplo:
+Si prefieres una transferencia segura, considera usar este ejemplo:
-[source,shell]
+[source, shell]
....
# ssh myhost cat _.disk.image.gz | zcat | sh updatep1
....
-==== Usando man:nc[1]
+==== Usar man:nc[1]
-Puede utilizar este ejemplo si el huésped remoto no está ejecutando los servicios man:ftpd[8] o man:sshd[8]:
+Prueba este ejemplo si el host remoto no está ejecutando ni el servicio man:ftpd[8] ni el servicio man:sshd[8]:
[.procedure]
====
-. En primer lugar, abra un puerto TCP en el huésped que se encuentra sirviendo la imagen y haga que envíe la imagen al cliente:
+. En primer lugar, abre un puerto TCP en el host que se encuentra sirviendo la imagen y haz que envíe la imagen al cliente:
+
-[source,shell]
+[source, shell]
....
myhost# nc -l 2222 < _.disk.image
....
+
[NOTE]
======
-Asegúrese de que el puerto usado no esté bloqueado para recibir conexiones entrantes del huésped NanoBSD por el firewall.
+Asegúrate de que el puerto que usas no está bloqueado por ningún firewall para recibir conexiones entrantes desde el host NanoBSD.
======
-. Conéctese al huésped sirviendo la nueva imagen y ejecute el script [.filename]#updatep1#:
+. Conéctate al host que sirve la nueva imagen y ejecuta el script [.filename]#updatep1#:
+
-[source,shell]
+[source, shell]
....
# nc myhost 2222 | sh updatep1
....
diff --git a/documentation/content/es/articles/nanobsd/_index.po b/documentation/content/es/articles/nanobsd/_index.po
new file mode 100644
index 0000000000..b36fc1f057
--- /dev/null
+++ b/documentation/content/es/articles/nanobsd/_index.po
@@ -0,0 +1,1548 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR The FreeBSD Project
+# This file is distributed under the same license as the FreeBSD Documentation package.
+# Fernando Apesteguía <fernando.apesteguia@gmail.com>, 2021, 2022.
+# Sergio Carlavilla <carlavilla@FreeBSD.org>, 2021.
+# Daniel Pérez <steew0x8@protonmail.com>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: FreeBSD Documentation VERSION\n"
+"POT-Creation-Date: 2022-02-01 09:21-0300\n"
+"PO-Revision-Date: 2022-08-28 15:36+0000\n"
+"Last-Translator: Fernando Apesteguía <fernando.apesteguia@gmail.com>\n"
+"Language-Team: Spanish <https://translate-dev.freebsd.org/projects/"
+"documentation/articlesnanobsd_index/es/>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.10.1\n"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:1
+#: documentation/content/en/articles/nanobsd/_index.adoc:46
+#, no-wrap
+msgid "This document provides information about the NanoBSD tools, which can be used to create FreeBSD system images for embedded applications, suitable for use on a USB key, memory card or other mass storage media."
+msgstr "Este documento proporciona información sobre las herramientas NanoBSD, las cuales pueden ser usadas para crear imágenes de FreeBSD para aplicaciones embebidas, adecuadas para su uso en una memoria USB, tarjeta de memoria, u otro medio de almacenamiento."
+
+#. type: Title ==
+#: documentation/content/en/articles/nanobsd/_index.adoc:1
+#: documentation/content/en/articles/nanobsd/_index.adoc:11
+#: documentation/content/en/articles/nanobsd/_index.adoc:52
+#, no-wrap
+msgid "Introduction to NanoBSD"
+msgstr "Introducción a NanoBSD"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:44
+msgid "Abstract"
+msgstr "Resumen"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:48
+msgid "'''"
+msgstr "'''"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:56
+msgid ""
+"NanoBSD is a tool developed by {phk} and now maintained by {imp}. It "
+"creates a FreeBSD system image for embedded applications, suitable for use "
+"on a USB key, memory card or other mass storage media."
+msgstr ""
+"NanoBSD es una herramienta desarrollada por {phk} y mantenida ahora por {imp}"
+". La herramienta crea una imagen para aplicaciones embebidas, adecuada para "
+"su uso en una memoria USB, tarjeta de memoria, u otro medio de "
+"almacenamiento."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:60
+msgid ""
+"It can be used to build specialized install images, designed for easy "
+"installation and maintenance of systems commonly called \"computer appliances"
+"\". Computer appliances have their hardware and software bundled in the "
+"product, which means all applications are pre-installed. The appliance is "
+"plugged into an existing network and can begin working (almost) immediately."
+msgstr ""
+"Puede usarse para crear imágenes de instalación especializadas, diseñadas "
+"para instalar y mantener sistemas comúnmente llamados \"aparatos de "
+"computación\" (computer appliances). Los aparatos de computación incluyen el "
+"hardware y software en el mismo producto, lo cual significa que todas las "
+"aplicaciones vienen preinstaladas. El aparato se conecta a una red existente "
+"y puede comenzar a funcionar (casi) de inmediato."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:62
+msgid "The features of NanoBSD include:"
+msgstr "Las funcionalidades de NanoBSD incluyen:"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:64
+msgid ""
+"Ports and packages work as in FreeBSD - Every single application can be "
+"installed and used in a NanoBSD image, the same way as in FreeBSD."
+msgstr ""
+"Los ports y paquetes funcionan de la misma manera que en FreeBSD — Cada "
+"aplicación puede ser instalada y usada en una imagen de NanoBSD, de la misma "
+"manera que en FreeBSD."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:65
+msgid ""
+"No missing functionality - If it is possible to do something with FreeBSD, "
+"it is possible to do the same thing with NanoBSD, unless the specific "
+"feature or features were explicitly removed from the NanoBSD image when it "
+"was created."
+msgstr ""
+"No se pierde funcionalidad - Si es posible hacer algo con FreeBSD, es "
+"posible hacer lo mismo con NanoBSD, excepto si las funciones específicas "
+"fueron explícitamente eliminadas de la imagen de NanoBSD cuando fue creada."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:66
+msgid ""
+"Everything is read-only at run-time - It is safe to pull the power-plug. "
+"There is no necessity to run man:fsck[8] after a non-graceful shutdown of "
+"the system."
+msgstr ""
+"El sistema es de sólo lectura en tiempo de ejecución, por lo tanto es seguro "
+"quitar el cable de alimentación. No hay necesidad de correr man:fsck[8] "
+"después de un apagado abrupto del sistema."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:67
+msgid ""
+"Easy to build and customize - Making use of just one shell script and one "
+"configuration file it is possible to build reduced and customized images "
+"satisfying any arbitrary set of requirements."
+msgstr ""
+"Es fácil de crear y personalizar — Haciendo uso de un único script y "
+"solamente un archivo de configuración, es posible crear imágenes reducidas y "
+"personalizadas para satisfacer un conjunto arbitrario de requisitos."
+
+#. type: Title ==
+#: documentation/content/en/articles/nanobsd/_index.adoc:69
+#, no-wrap
+msgid "NanoBSD Howto"
+msgstr "NanoBSD paso a paso"
+
+#. type: Title ===
+#: documentation/content/en/articles/nanobsd/_index.adoc:72
+#, no-wrap
+msgid "The Design of NanoBSD"
+msgstr "El Diseño de NanoBSD"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:76
+msgid ""
+"Once the image is present on the medium, it is possible to boot NanoBSD. "
+"The mass storage medium is divided into three parts by default:"
+msgstr ""
+"Una vez que la imagen está presente en el medio, es posible arrancar "
+"NanoBSD. El medio de almacenamiento está dividido por defecto en tres partes:"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:78
+msgid "Two image partitions: `code#1` and `code#2`."
+msgstr "Dos particiones de imagen: `code#1` y `code#2`."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:79
+msgid ""
+"The configuration file partition, which can be mounted under the [."
+"filename]#/cfg# directory at run time."
+msgstr ""
+"La partición del archivo de configuración, que se puede montar bajo el "
+"directorio [.filename]#/cfg# en tiempo de ejecución."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:81
+msgid "These partitions are normally mounted read-only."
+msgstr "Estas particiones normalmente se montan como solo lectura."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:83
+msgid ""
+"The [.filename]#/etc# and [.filename]#/var# directories are man:md[4] "
+"(malloc) disks."
+msgstr ""
+"Los directorios [.filename]#/etc# y [.filename]#/var# son discos malloc ("
+"malloc disks) man:md[4]."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:86
+msgid ""
+"The configuration file partition persists under the [.filename]#/cfg# "
+"directory. It contains files for [.filename]#/etc# directory and is briefly "
+"mounted read-only right after the system boot, therefore it is required to "
+"copy modified files from [.filename]#/etc# back to the [.filename]#/cfg# "
+"directory if changes are expected to persist after the system restarts."
+msgstr ""
+"La partición del archivo de configuración reside en el directorio [."
+"filename]#/cfg#. Contiene archivos para el directorio [.filename]#/etc# y se "
+"monta brevemente como una partición de solo lectura tras el arranque del "
+"sistema; por lo tanto, es necesaria para copiar archivos modificados desde [."
+"filename]#/etc# de vuelta hacia el directorio [.filename]#/cfg# si se espera "
+"que los cambios persistan después de reiniciar el sistema."
+
+#. type: Block title
+#: documentation/content/en/articles/nanobsd/_index.adoc:87
+#, no-wrap
+msgid "Making Persistent Changes to [.filename]#/etc/resolv.conf#"
+msgstr "Haciendo Cambios Persistentes en [.filename]#/etc/resolv.conf#"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:98
+#, no-wrap
+msgid ""
+"# vi /etc/resolv.conf\n"
+"[...]\n"
+"# mount /cfg\n"
+"# cp /etc/resolv.conf /cfg\n"
+"# umount /cfg\n"
+msgstr ""
+"# vi /etc/resolv.conf\n"
+"[...]\n"
+"# mount /cfg\n"
+"# cp /etc/resolv.conf /cfg\n"
+"# umount /cfg\n"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:105
+msgid ""
+"The partition containing [.filename]#/cfg# should be mounted only at boot "
+"time and while overriding the configuration files."
+msgstr ""
+"La partición que contiene [.filename]#/cfg# debería ser montada solo en el "
+"arranque y cuando se sustituyan las directivas de los archivos de "
+"configuración."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:107
+msgid ""
+"Keeping [.filename]#/cfg# mounted at all times is not a good idea, "
+"especially if the NanoBSD system runs off a mass storage medium that may be "
+"adversely affected by a large number of writes to the partition (like when "
+"the filesystem syncer flushes data to the system disks)."
+msgstr ""
+"Mantener [.filename]#/cfg# montado todo el tiempo no es una buena idea, "
+"especialmente si el sistema NanoBSD se ejecuta en un medio de almacenamiento "
+"masivo que puede verse afectado negativamente por un alto número de "
+"escrituras en la partición (como cuando el sincronizador del sistema de "
+"archivos vuelca los datos hacia los discos del sistema)."
+
+#. type: Title ===
+#: documentation/content/en/articles/nanobsd/_index.adoc:109
+#, no-wrap
+msgid "Building a NanoBSD Image"
+msgstr "Compilar una Imagen de NanoBSD"
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:113
+msgid ""
+"A NanoBSD image is built using a simple [.filename]#nanobsd.sh# shell "
+"script, which can be found in the [.filename]#/usr/src/tools/tools/nanobsd# "
+"directory. This script creates an image, which can be copied on the storage "
+"medium using the man:dd[1] utility."
+msgstr ""
+"Una imagen de NanoBSD se construye usando el sencillo script [."
+"filename]#nanobsd.sh# que puede encontrarse en el directorio [.filename]#/"
+"usr/src/tools/tools/nanobsd#. Este script crea una imagen que se puede "
+"copiar al medio de almacenamiento utilizando la herramienta man:dd[1]."
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:115
+msgid "The necessary commands to build a NanoBSD image are:"
+msgstr "Los comandos necesarios para construir una imagen NanoBSD son:"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:122
+#, no-wrap
+msgid ""
+"# cd /usr/src/tools/tools/nanobsd <.>\n"
+"# sh nanobsd.sh <.>\n"
+"# cd /usr/obj/nanobsd.full <.>\n"
+"# dd if=_.disk.full of=/dev/da0 bs=64k <.>\n"
+msgstr ""
+"# cd /usr/src/tools/tools/nanobsd <.>\n"
+"# sh nanobsd.sh <.>\n"
+"# cd /usr/obj/nanobsd.full <.>\n"
+"# dd if=_.disk.full of=/dev/da0 bs=64k <.>\n"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:125
+msgid ""
+"Change the current directory to the base directory of the NanoBSD build "
+"script."
+msgstr ""
+"Cambia el directorio actual por el directorio base del script de "
+"construcción de NanoBSD."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:127
+msgid "Start the build process."
+msgstr "Comienza el proceso de compilación."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:129
+msgid ""
+"Change the current directory to the place where the built images are located."
+msgstr ""
+"Cambia el directorio actual por el lugar donde se encuentran las imágenes "
+"compiladas."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:131
+msgid "Install NanoBSD onto the storage medium."
+msgstr "Instala NanoBSD en el medio de almacenamiento."
+
+#. type: Title ====
+#: documentation/content/en/articles/nanobsd/_index.adoc:132
+#, no-wrap
+msgid "Options When Building a NanoBSD Image"
+msgstr "Opciones al Construir una Imagen de NanoBSD"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:136
+msgid ""
+"When building a NanoBSD image, several build options can be passed to [."
+"filename]#nanobsd.sh# on the command line. These options can have a "
+"significant impact on the build process."
+msgstr ""
+"Cuando se construye una imagen de NanoBSD, se pueden pasar varias opciones a "
+"[.filename]#nanobsd.sh# en la línea de comando. Estas opciones pueden tener "
+"un impacto significativo en el proceso de construcción."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:138
+msgid "Some options are for verbosity purposes:"
+msgstr "Algunas opciones tienen propósitos de verbosidad:"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:140
+msgid "`-h`: prints the help summary page."
+msgstr "`-h`: imprime un resumen de la página de ayuda."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:141
+msgid "`-q`: makes output quieter."
+msgstr "`-q`: hace que la salida sea más silenciosa."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:142
+msgid "`-v`: makes output more verbose"
+msgstr "`-v`: hace que la salida sea más verbosa"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:145
+msgid ""
+"Some other options can be used to restrict the building process. Sometimes "
+"it is not necessary to rebuild everything from sources, especially if an "
+"image has already been built, and only little change is made."
+msgstr ""
+"Otras opciones se pueden usar para restringir el proceso de construcción. A "
+"veces no es necesario reconstruir todo desde las fuentes, especialmente si "
+"ya se ha construido una imagen y sólo se han hecho pequeños cambios."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:147
+msgid "`-k`: do not build the kernel"
+msgstr "`-k`: no construir el kernel"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:148
+msgid "`-w`: do not build world"
+msgstr "`-w`: no construir world"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:149
+msgid "`-b`: do not build either kernel and world"
+msgstr "`-b`: no construir ni el kernel ni world"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:150
+msgid ""
+"`-i`: do not build a disk image at all. As a file will not be created, it "
+"will not be possible to man:dd[1] it to a storage media."
+msgstr ""
+"`-i`: no construir una imagen de disco. Como no se creará un fichero, no "
+"será posible copiarlo con man:dd[1] al medio de almacenamiento."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:151
+msgid ""
+"`-f`: do not build a disk image of the first partition (which is useful for "
+"upgrade purposes)"
+msgstr ""
+"`-f`: no construir una imagen de disco de la primera partición (útil para "
+"actualizaciones)"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:152
+msgid ""
+"`-n`: add `-DNO_CLEAN` to `buildworld`, `buildkernel`. Also, all the files "
+"that have already been built in a previous run are kept."
+msgstr ""
+"`-n`: añade `-DNO_CLEAN` a `buildworld`, `buildkernel`. También se guardan "
+"todos los ficheros que se hayan construido en una ejecución previa."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:155
+msgid ""
+"A configuration file can be used to tweak as many elements as desired. Load "
+"it with `-c`"
+msgstr ""
+"Se puede usar un fichero de configuración para ajustar cuantos elementos "
+"como se quiera. Cárgalo con `-c`"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:157
+msgid "The last options are:"
+msgstr "Las últimas opciones son:"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:159
+msgid ""
+"`-K`: do not install a kernel. A disk image without a kernel will not be "
+"able to achieve a normal boot sequence."
+msgstr ""
+"`-K`: no instalar un kernel. Una imagen de disco sin un kernel no será capaz "
+"de realizar una secuencia normal de arranque."
+
+#. type: Title ====
+#: documentation/content/en/articles/nanobsd/_index.adoc:160
+#, no-wrap
+msgid "The Complete Image Building Process"
+msgstr "El Proceso Completo de Creación de Imágenes"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:165
+msgid ""
+"The complete image building process is going through a lot of steps. The "
+"exact steps taken will depend on the chosen options when starting the "
+"script. Assuming the script is run with no particular options, this is what "
+"will happen."
+msgstr ""
+"El proceso completo de creación de imágenes tiene muchos pasos. Los pasos "
+"exactos dependerán de las opciones escogidas cuando se inicia el script. "
+"Asumiendo que el script se ejecuta sin opciones particulares, esto es lo que "
+"pasará."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:167
+msgid ""
+"`run_early_customize`: commands that are defined in a supplied configuration "
+"file."
+msgstr ""
+"`run_early_customize`: comandos que se definen en un fichero de "
+"configuración que se ha proporcionado."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:168
+msgid ""
+"`clean_build`: Just cleans the build environment by deleting the previously "
+"built files."
+msgstr ""
+"`clean_build`: Simplemente limpia el entorno de construcción mediante el "
+"borrado de ficheros construidos previamente."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:169
+msgid ""
+"`make_conf_build`: Assemble make.conffrom the `CONF_WORLD` and `CONF_BUILD` "
+"variables."
+msgstr ""
+"`make_conf_build`: Ensambla make.conf a partir de las variables `CONF_WORLD` "
+"y `CONF_BUILD`."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:170
+msgid "`build_world`: Build world."
+msgstr "`build_world`: Construye world."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:171
+msgid "`build_kernel`: Build the kernel files."
+msgstr "`build_kernel`: Construye los ficheros del kernel."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:172
+msgid "`clean_world`: Clean the destination directory."
+msgstr "`clean_world`: Limpia el directorio de destino."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:173
+msgid ""
+"`make_conf_install`: Assemble make.conf from the `CONF_WORLD` and "
+"`CONF_INSTALL` variables."
+msgstr ""
+"`make_conf_install`: Ensambla make.conf a partir de las variables "
+"`CONF_WORLD` y `CONF_INSTALL`."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:174
+msgid "`install_world`: Install all files built during `buildworld`."
+msgstr ""
+"`install_world`: Instala todos los ficheros construidos durante la fase "
+"`buildworld`."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:175
+msgid ""
+"`install_etc`: Install the necessary files in the [.filename]#/etc# "
+"directory, based on the `make distribution` command."
+msgstr ""
+"`install_etc`: Instala los ficheros necesarios en el directorio [."
+"filename]#/etc# basándose en el comando `make distribution`."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:176
+msgid ""
+"`setup_nanobsd_etc`: the first configuration specific to NanoBSD takes place "
+"at this stage. The [.filename]#/etc/diskless# is created and the root "
+"filesystem is defined as read-only."
+msgstr ""
+"`setup_nanobsd_etc`: la primera configuración específica de NanoBSD tiene "
+"lugar en esta fase. Se crea [.filename]#/etc/diskless# y se define el "
+"sistema de ficheros raíz como sólo lectura."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:177
+msgid "`install_kernel`: the kernel and modules files are installed."
+msgstr "`install_kernel`: se instalan los ficheros del kernel y los módulos."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:178
+msgid ""
+"`run_customize`: all the customizing routines defined by the user will be "
+"called."
+msgstr ""
+"`run_customize`: se llama a todas las rutinas personalizadas definidas por "
+"el usuario."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:179
+msgid ""
+"`setup_nanobsd`: a special configuration directory layout is setup. The [."
+"filename]#/usr/local/etc# gets moved to [.filename]#/etc/local# and a "
+"symbolic link is created back from [.filename]#/etc/local# to [.filename]#/"
+"usr/local/etc#."
+msgstr ""
+"`setup_nanobsd`: se configura un esquema especial de directorios de "
+"configuración. [.filename]#/usr/local/etc# se mueve a [.filename]#/etc/local#"
+" y se crea un enlace simbólico de vuelta desde [.filename]#/etc/local# a [."
+"filename]#/usr/local/etc#."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:180
+msgid "`prune_usr`: the empty directories from [.filename]#/usr# are removed."
+msgstr "`prune_usr`: se eliminan los directorios vacíos de [.filename]#/usr#."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:181
+msgid ""
+"`run_late_customize`: the very last custom scripts can be run at this point."
+msgstr ""
+"`run_late_customize`: en este punto se ejecutan los últimos scripts "
+"personalizados."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:182
+msgid "`fixup_before_diskimage`: List all installed files in a metalog"
+msgstr ""
+"`fixup_before_diskimage`: Lista todos los ficheros instalados en un metalog."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:183
+msgid ""
+"`create_diskimage`: creates the actual disk image, based on the disk "
+"geometries provides parameters."
+msgstr ""
+"`create_diskimage`: crea la imagen de disco real basada en los parámetros "
+"proporcionados sobre las geometrías del disco."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:184
+msgid "`last_orders`: does nothing for now."
+msgstr "`last_orders`: no hace nada de momento."
+
+#. type: Title ===
+#: documentation/content/en/articles/nanobsd/_index.adoc:185
+#, no-wrap
+msgid "Customizing a NanoBSD Image"
+msgstr "Personalizar una Imagen de NanoBSD"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:189
+msgid ""
+"This is probably the most important and most interesting feature of "
+"NanoBSD. This is also where you will be spending most of the time when "
+"developing with NanoBSD."
+msgstr ""
+"Esta es probablemente la característica más importante y más interesante de "
+"NanoBSD. Es también donde pasarás la mayor parte del tiempo cuando "
+"desarrolles con NanoBSD."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:191
+msgid ""
+"Invocation of the following command will force the [.filename]#nanobsd.sh# "
+"to read its configuration from [.filename]#myconf.nano# located in the "
+"current directory:"
+msgstr ""
+"Invocar el siguiente comando forzará a [.filename]#nanobsd.sh# a leer su "
+"configuración desde el archivo [.filename]#myconf.nano# situado en el "
+"directorio actual:"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:195
+#, no-wrap
+msgid "# sh nanobsd.sh -c myconf.nano\n"
+msgstr "# sh nanobsd.sh -c myconf.nano\n"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:198
+msgid "Customization is done in two ways:"
+msgstr "La personalización puede realizarse de dos formas:"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:200
+msgid "Configuration options"
+msgstr "Opciones de configuración"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:201
+msgid "Custom functions"
+msgstr "Funciones personalizadas"
+
+#. type: Title ====
+#: documentation/content/en/articles/nanobsd/_index.adoc:202
+#, no-wrap
+msgid "Configuration Options"
+msgstr "Opciones de Configuración"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:207
+msgid ""
+"With configuration settings, it is possible to configure options passed to "
+"both the `buildworld` and `installworld` stages of the NanoBSD build "
+"process, as well as internal options passed to the main build process of "
+"NanoBSD. Through these options it is possible to cut the system down, so it "
+"will fit on as little as 64MB. You can use the configuration options to "
+"trim down FreeBSD even more, until it will consists of just the kernel and "
+"two or three files in the userland."
+msgstr ""
+"Con las opciones de ajuste, es posible configurar opciones que se pasan "
+"tanto a la fase `buildworld` como a la fase `installworld` del proceso de "
+"construcción de NanoBSD, así como opciones internas pasadas al proceso "
+"principal de construcción de NanoBSD. Mediante estas opciones es posible "
+"hacer más pequeño el sistema de forma que quepa en tan solo 64 MB. Puedes "
+"utilizar las opciones de configuración para hacer FreeBSD incluso más "
+"pequeño hasta que consista sólo en el kernel y en dos o tres ficheros en "
+"espacio de usuario."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:210
+msgid ""
+"The configuration file consists of configuration options, which override the "
+"default values. The most important directives are:"
+msgstr ""
+"El archivo de configuración consiste en opciones de configuración que "
+"sobrescriben los valores por defecto. Las directivas más importantes son:"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:212
+msgid "`NANO_NAME` - Name of build (used to construct the workdir names)."
+msgstr ""
+"`NANO_NAME` - Nombre de la construcción (utilizado para los nombres de los "
+"directorios de construcción)."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:213
+msgid "`NANO_SRC` - Path to the source tree used to build the image."
+msgstr ""
+"`NANO_SRC` - Ruta al árbol de fuentes utilizado para construir la imagen."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:214
+msgid "`NANO_KERNEL` - Name of kernel configuration file used to build kernel."
+msgstr ""
+"`NANO_KERNEL` - Nombre del fichero de configuración del kernel utilizado "
+"para construir el kernel."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:215
+msgid "`CONF_BUILD` - Options passed to the `buildworld` stage of the build."
+msgstr "`CONF_BUILD` - Opciones pasadas a la fase de construcción `buildworld`."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:216
+msgid ""
+"`CONF_INSTALL` - Options passed to the `installworld` stage of the build."
+msgstr ""
+"`CONF_INSTALL` - Opciones pasadas a la fase de construcción `installworld`."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:217
+msgid ""
+"`CONF_WORLD` - Options passed to both the `buildworld` and the "
+"`installworld` stage of the build."
+msgstr ""
+"`CONF_WORLD` - Opciones pasadas a las fases de construcción `buildworld` e "
+"`installworld`."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:218
+msgid ""
+"`FlashDevice` - Defines what type of media to use. Check [."
+"filename]#FlashDevice.sub# for more details."
+msgstr ""
+"`FlashDevice` - Define el tipo de medio a utilizar. Consulta [."
+"filename]#FlashDevice.sub# para más detalles."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:220
+msgid ""
+"There are many more configuration options that could be relevant depending "
+"upon the kind of NanoBSD that is desired."
+msgstr ""
+"Hay muchas más opciones de configuración que podrían ser relevantes "
+"dependiendo del tipo de NanoBSD que se desea."
+
+#. type: Title =====
+#: documentation/content/en/articles/nanobsd/_index.adoc:221
+#, no-wrap
+msgid "General Customization"
+msgstr "Personalización General"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:224
+msgid ""
+"There are three stages, by design, at which it is possible to make changes "
+"that affect the building process, just by setting up a variable in the "
+"provided configuration file:"
+msgstr ""
+"Hay tres etapas, por diseño, en las cuales es posible hacer cambios que "
+"afectan al proceso de construcción, simplemente estableciendo una variable "
+"en el fichero de configuración proporcionado:"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:226
+msgid "`run_early_customize`: before anything else happens."
+msgstr "`run_early_customize`: antes de que se haga cualquier otra cosa."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:227
+msgid "`run_customize`: after all the standard files have been laid out"
+msgstr ""
+"`run_customize`: después de que se hayan dispuesto todos los ficheros "
+"estándar"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:228
+msgid ""
+"`run_late_customize`: at the very end of the process, just before the actual "
+"NanoBSD image is built."
+msgstr ""
+"`run_late_customize`: al final del proceso, justo antes de que se cree la "
+"imagen definitiva de NanoBSD."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:230
+msgid ""
+"To customize a NanoBSD image, at any of these steps, it is best to add a "
+"specific value to one of the corresponding variables."
+msgstr ""
+"Para personalizar una imagen de NanoBSD, en cualquiera de estos pasos, es "
+"mejor añadir un valor específico a la variable que corresponda."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:233
+msgid ""
+"The `NANO_EARLY_CUSTOMIZE` variable is used at the first step of the "
+"building process. At this point, there is no example as to what can be done "
+"using that variable, but it may change in the future."
+msgstr ""
+"La variable `NANO_EARLY_CUSTOMIZE` se utiliza en el primer paso del proceso "
+"de construcción. En este momento no hay un ejemplo de lo que se puede hacer "
+"con esta variable, pero esto podría cambiar en el futuro."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:236
+msgid ""
+"The `NANO_CUSTOMIZE` variable is used after the kernel, world and etc "
+"configuration files have been installed, and the etc files have been setup "
+"as to be a NanoBSD installation. So it is the correct step in the building "
+"process to tweak configuration options and add packages, like in the "
+"cust_nobeastie example."
+msgstr ""
+"La variable `NANO_CUSTOMIZE` se utiliza después de que se hayan instalados "
+"los ficheros del kernel, world y configuración y de que los ficheros de etc "
+"se hayan configurado para que sean una instalación de NanoBSD. Así que es el "
+"paso correcto del proceso de construcción para ajustar las opciones de "
+"configuración y añadir paquetes como se hace en el ejemplo cust_nobeastie."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:240
+msgid ""
+"The `NANO_LATE_CUSTOMIZE` variable is used just before the disk image is "
+"created, so it is the very last moment to change anything. Remember that "
+"the `setup_nanobsd` routine already executed and that the [.filename]#etc#, "
+"[.filename]#conf# and [.filename]#cfg# directories and subdirectories are "
+"already modified, so it is not time to change them at this point. Rather, "
+"it is possible to add or remove specific files."
+msgstr ""
+"La variable `NANO_LATE_CUSTOMIZE` se usa justo antes de que se cree la "
+"imagen de disco, así que es el último momento para poder cambiar algo. "
+"Recuerda que la rutina `setup_nanobsd` ya se ha ejecutado y que los "
+"directorios [.filename]#etc#, [.filename]#conf# and [.filename]#cfg# y "
+"subdirectorios ya se han modificado, así que no es el momento de cambiar "
+"nada. Más bien es posible añadir o eliminar ficheros específicos."
+
+#. type: Title =====
+#: documentation/content/en/articles/nanobsd/_index.adoc:241
+#, no-wrap
+msgid "Booting Options"
+msgstr "Opciones de Arranque"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:245
+msgid ""
+"There are also variables that can change the way the NanoBSD image boots. "
+"Two options are passed to man:boot0cfg[8] to initialize the boot sector of "
+"the disk image:"
+msgstr ""
+"También hay variables que pueden cambiar la forma en la que arranca una "
+"imagen de NanoBSD. Se pasan dos opciones a man:boot0cfg[8] para inicializar "
+"el sector de arranque de la imagen de disco:"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:247
+msgid "`NANO_BOOT0CFG`"
+msgstr "`NANO_BOOT0CFG`"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:248
+msgid "`NANO_BOOTLOADER`"
+msgstr "`NANO_BOOTLOADER`"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:253
+msgid ""
+"With `NANO_BOOTLOADER` a bootloader file can be chosen. The most common "
+"possible options are between [.filename]#boot0sio# and [.filename]#boot0# "
+"depending on whether the appliance has a serial port or not. It is best to "
+"avoid supplying a different bootloader, but it is possible. To do so, it is "
+"best to have checked the extref:{handbook}boot[FreeBSD Handbook] chapter on "
+"the boot process."
+msgstr ""
+"Con `NANO_BOOTLOADER` se puede escoger un fichero de bootloader. Las "
+"opciones posibles más habituales son [.filename]#boot0sio# y [."
+"filename]#boot0# dependiendo de si el dispositivo tiene o no puerto serie. "
+"Es mejor evitar proporcionar un bootloader diferente, pero es posible. Para "
+"hacerlo, lo mejor es consultar el capítulo sobre el proceso de arranque en "
+"el extref:{handbook}boot[FreeBSD Handbook]."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:260
+msgid ""
+"With `NANO_BOOT0CFG`, the booting process can be tweaked, like selecting on "
+"which partition the NanoBSD image will actually boot. It is best to check "
+"the man:boot0cfg[8] page before changing the default value of this "
+"variable. One option that could be interesting to change is the timeout of "
+"the booting procedure. To do so, the `NANO_BOOT0CFG` variable can be "
+"changed to `\"-o packet -s 1 -m 3 -t 36\"`. That way the booting process "
+"would start after approximately 2 seconds; because it is rare that waiting "
+"10 seconds before actually booting is desired."
+msgstr ""
+"Con `NANO_BOOT0CFG` se puede modificar el proceso de arranque como por "
+"ejemplo seleccionar desde qué partición arrancará la imagen de NanoBSD. Es "
+"mejor consultar la página man:boot0cfg[8] antes de cambiar el valor por "
+"defecto de esta variable. Una opción que podría ser interesante cambiar es "
+"el tiempo de espera del procedimiento de arranque. Para ello, se puede "
+"cambiar la variable `NANO_BOOT0CFG` a `\"-o packet -s 1 -m 3 -t 36\"`. De "
+"este modo el proceso de arranque empezaría después de aproximadamente 2 "
+"segundos; porque es raro que se quiera esperar 10 segundos antes de arrancar."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:263
+msgid ""
+"Good to know: the `NANO_BOOT2CFG` variable is only used in the "
+"`cust_comconsole` routine that can be called at the `NANO_CUSTOMIZE` step if "
+"the appliance has a serial port and all console input and output has to take "
+"place through it. Be sure to check the relevant parameters of the serial "
+"port, as setting a bad parameter value can make it useless."
+msgstr ""
+"Está bien saber esto: la variable `NANO_BOOT2CFG` sólo se usa en la rutina "
+"`cust_comconsole` que se puede llamar en el paso `NANO_CUSTOMIZE` si el "
+"dispositivo tiene un puerto serie y toda la entrada y salida de la consola "
+"tiene que ir a través de él. Asegúrate de comprobar los parámetros "
+"relevantes del puerto serie ya que establecer un parámetro a un valor "
+"erróneo puede inhabilitar el puerto."
+
+#. type: Title =====
+#: documentation/content/en/articles/nanobsd/_index.adoc:264
+#, no-wrap
+msgid "Disk Image Creation"
+msgstr "Creación de una Imagen de Disco"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:268
+msgid ""
+"In the end of the boot process is the disk image creation. With this step, "
+"the NanoBSD script provides a file that can simply be copied onto a disk for "
+"the appliance, and that will make it boot and start."
+msgstr ""
+"Al final del proceso de arranque se encuentra la creación de la imagen de "
+"disco. Con este paso, el script de Nano BSD proporciona un fichero que puede "
+"ser copiado simplemente en el disco del dispositivo y que hará que arranque."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:270
+msgid ""
+"There are many variable that need to be set just right for the script to "
+"produce a usable disk image."
+msgstr ""
+"Hay muchas variables que se tienen que configurar bien para que el script "
+"produzca una imagen de disco que sea utilizable."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:272
+msgid ""
+"The `NANO_DRIVE` variable must be set to the drive name of the media at "
+"runtime. Usually, the default value `ada0`, which represents the first `IDE`/"
+"`ATA`/`SATA` device on the appliance is expected to be the correct one, but "
+"a different type of storage could also be used - like a USB key, in which "
+"case, it would rather be da0."
+msgstr ""
+"La variable `NANO_DRIVE` tiene que establecerse al nombre de la unidad del "
+"medio en tiempo de ejecución. Normalmente, el valor por defecto `ada0`, que "
+"representa al primer dispositivo `IDE`/`ATA`/`SATA` en la unidad, se espera "
+"que sea correcto pero se podría usar un tipo diferente de almacenamiento - "
+"como una llave USB, en cuyo caso sería mejor usar da0."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:273
+msgid ""
+"The `NANO_MEDIASIZE` variable must be set to the size (in 512 bytes sectors) "
+"of the storage media that will be used. If you set it wrong, it is possible "
+"that the NanoBSD image will not boot at all, and a message at boot time will "
+"be warning about incorrect disk geometry."
+msgstr ""
+"La variable `NANO_MEDIASIZE` se tiene que establecer al tamaño (en sectores "
+"de 512 bytes) del medio de almacenamiento que se utilizará. Si lo estableces "
+"de forma incorrecta, es posible que la imagen de NanoBSD no arranque en "
+"absoluto y se mostrará un mensaje durante el arranque avisando de una "
+"geometría de disco incorrecta."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:275
+msgid ""
+"The [.filename]#/etc#, [.filename]#/var#, and [.filename]#/tmp# directories "
+"are allocated as man:md[4] (malloc) disks at boot time; so their sizes can "
+"be tailored to suit the appliance needs. The `NANO_RAM_ETCSIZE` variable "
+"sets the size of the [.filename]#/etc#; and the `NANO_RAM_TMPVARSIZE` "
+"variable sets the size of both the [.filename]#/var# and [.filename]#/tmp# "
+"directory, as [.filename]#/tmp# is symbolically linked to [.filename]#/var/"
+"tmp#. By default, both malloc disks sizes are set at 20MB each. They can "
+"always be changed, but usually the [.filename]#/etc# does not grow too much "
+"in size, so 20MB is a good starting point, whereas the [.filename]#/var# and "
+"especially [.filename]#/tmp# can grow much larger if not careful about it. "
+"For memory constrained systems, smaller filesystem sizes may be chosen."
+msgstr ""
+"Los directorios [.filename]#/etc#, [.filename]#/var#, y [.filename]#/tmp# se "
+"reservan como discos(malloc) man:md[4] en el arranque; de forma que sus "
+"tamaños se pueden ajustar par satisfacer las necesidades del dispositivo. La "
+"variable `NANO_RAM_ETCSIZE` establece el tamaño de [.filename]#/etc#; y la "
+"variable `NANO_RAM_TMPVARSIZE` establece el tamaño de los directorios [."
+"filename]#/var# y [.filename]#/tmp# puesto que [.filename]#/tmp# está "
+"enlazado simbólicamente a [.filename]#/var/tmp#. Por defecto, los tamaños de "
+"ambos discos malloc se establece a 20MB cada uno. Siempre se pueden cambiar, "
+"pero normalmente [.filename]#/etc# no crece demasiado por lo que 20MB es un "
+"buen puntor de partida, mientras que [.filename]#/var# y especialmente [."
+"filename]#/tmp# pueden crecer mucho más si no ponemos cuidado. Para sistemas "
+"con limitaciones de memoria, se pueden escoger sistemas de ficheros más "
+"pequeños."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:276
+msgid ""
+"As NanoBSD is mainly designed to build a system image for an appliance, it "
+"is assumed that the storage media used will be relatively small. For that "
+"reason, the filesystem that is laid out is configured to have a small block "
+"size (4Kb) and a small fragment size (512b). The configuration options of "
+"the filesystem can be modified through the `NANO_NEWFS` variable, but the "
+"syntax must respect the man:newfs[8] command format. Also, by default, the "
+"filesystem has Soft Updates enabled. The extref:{handbook}[FreeBSD Handbook] "
+"can be checked about this."
+msgstr ""
+"Como NanoBSD está diseñado principalmente para construir una imagen de un "
+"sistema para un aparato, se asume que el medio de almacenamiento será "
+"relativamente pequeño. Por esa razón, el sistema de ficheros que se "
+"establece está configurado para tener un tamaño de bloque pequeño (4Kb) y un "
+"tamaño de fragmento pequeño (512b). Las opciones de configuración del "
+"sistema de ficheros se pueden configurar mediante la variable `NANO_NEWFS`, "
+"pero la sintaxis debe respetar el formato del comando man:newfs[8] . El "
+"sistema de ficheros también tiene Soft Updates activado por defecto. Se "
+"puede leer sobre esto en el extref:{handbook}[FreeBSD Handbook]."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:277
+msgid ""
+"The different partition sizes can be set through the use of `NANO_CODESIZE`, "
+"`NANO_CONFSIZE`, and `NANO_DATASIZE` as a multiple of 512 bytes sectors. "
+"`NANO_CODESIZE` defines the size of the first two image partitions: `code#1` "
+"and `code#2`. They have to be big enough to hold all the files that will be "
+"produced as a result of the `buildworld` and `buildkernel` processes. "
+"`NANO_CONFSIZE` defines the size of the configuration file partition, so it "
+"does not need to be very big; but do not make it so small that it will not "
+"hold all configuration files. Finally, `NANO_DATASIZE` defines the size of "
+"an optional partition, that can be used on the appliance. The last partition "
+"can be used, for example, to keep files created on the fly on disk."
+msgstr ""
+"Los diferentes tamaños de partición se pueden establecer mediante el uso de "
+"`NANO_CODESIZE`, `NANO_CONFSIZE`, y `NANO_DATASIZE` como múltiplos de "
+"sectores de 512 bytes. `NANO_SIZE` define el tamaño de las dos primeras "
+"particiones: `code#1` and `code#2`. Tienen que ser suficientemente grandes "
+"para contener todos los ficheros que se producirán como resultado de los "
+"procesos `buildworld` y `buildkernel`. `NANO_CONFSIZE` define el tamaño de "
+"la partición de ficheros de configuración por lo que no tiene que ser muy "
+"grande; pero no la hagas tan pequeña que no pueda albergar los ficheros. Por "
+"último `NANO_DATASIZE` define el tamaño de una partición opcional, que se "
+"puede usar en el dispositivo. Por ejemplo, se puede utilizar la última "
+"partición para mantener en disco ficheros creados al vuelo."
+
+#. type: Title ====
+#: documentation/content/en/articles/nanobsd/_index.adoc:278
+#, no-wrap
+msgid "Custom Functions"
+msgstr "Funciones Personalizadas"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:282
+msgid ""
+"It is possible to fine-tune NanoBSD using shell functions in the "
+"configuration file. The following example illustrates the basic model of "
+"custom functions:"
+msgstr ""
+"Es posible afinar NanoBSD utilizando funciones del shell en el fichero de "
+"configuración. El siguiente ejemplo ilustra el modelo básico de las "
+"funciones personalizadas:"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:290
+#, no-wrap
+msgid ""
+"cust_foo () (\n"
+"\techo \"bar=baz\" > \\\n"
+"\t\t${NANO_WORLDDIR}/etc/foo\n"
+")\n"
+"customize_cmd cust_foo\n"
+msgstr ""
+"cust_foo () (\n"
+"\techo \"bar=baz\" > \\\n"
+"\t\t${NANO_WORLDDIR}/etc/foo\n"
+")\n"
+"customize_cmd cust_foo\n"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:293
+msgid ""
+"A more useful example of a customization function is the following, which "
+"changes the default size of the [.filename]#/etc# directory from 5MB to 30MB:"
+msgstr ""
+"Un ejemplo más útil de una función de personalización es el siguiente, el "
+"cual cambia el tamaño por defecto del directorio [.filename]#/etc# de 5MB a "
+"30MB:"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:301
+#, no-wrap
+msgid ""
+"cust_etc_size () (\n"
+"\tcd ${NANO_WORLDDIR}/conf\n"
+"\techo 30000 > default/etc/md_size\n"
+")\n"
+"customize_cmd cust_etc_size\n"
+msgstr ""
+"cust_etc_size () (\n"
+"\tcd ${NANO_WORLDDIR}/conf\n"
+"\techo 30000 > default/etc/md_size\n"
+")\n"
+"customize_cmd cust_etc_size\n"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:304
+msgid ""
+"There are a few default pre-defined customization functions ready for use:"
+msgstr ""
+"Estas son algunas funciones de personalización incluidas por defecto y "
+"listas para ser usadas:"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:306
+msgid ""
+"`cust_comconsole` - Disables man:getty[8] on the VGA devices (the [."
+"filename]#/dev/ttyv*# device nodes) and enables the use of the COM1 serial "
+"port as the system console."
+msgstr ""
+"`cust_comconsole` - Deshabilita man:getty[8] en los dispositivos VGA (los "
+"nodos de dispositivo [.filename]#/dev/ttyv*#) y habilita el uso del puerto "
+"serie COM1 como consola del sistema."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:307
+msgid "`cust_allow_ssh_root` - Allow `root` to login via man:sshd[8]."
+msgstr ""
+"`cust_allow_ssh_root` - Permite al usuario `root` hacer login vía "
+"man:sshd[8]."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:308
+msgid ""
+"`cust_install_files` - Installs files from the [.filename]#nanobsd/Files# "
+"directory, which contains some useful scripts for system administration."
+msgstr ""
+"`cust_install_files` - Instala ficheros desde el directorio [.filename]#"
+"nanobsd/Files#, el cual contiene algunos scripts útiles para la "
+"administración del sistema."
+
+#. type: Title ====
+#: documentation/content/en/articles/nanobsd/_index.adoc:309
+#, no-wrap
+msgid "Adding Packages"
+msgstr "Agregando Paquetes"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:312
+msgid ""
+"Packages can be added to a NanoBSD image, to provide specific "
+"functionalities on the appliance. To do so, either:"
+msgstr ""
+"Se pueden agregar paquetes a una imagen de NanoBSD para proporcionar "
+"funcionalidades específicas para el dispositivo. Para ello, o bien:"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:314
+msgid "Add the `cust_pkgng` to the `NANO_CUSTOMIZE` variable, or"
+msgstr "Añade `cust_pkgng` a la variable `NANO_CUSTOMIZE`, o"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:315
+msgid ""
+"Add a `'customize_cmd cust_pkgng'` command in a customized configuration "
+"file."
+msgstr ""
+"Añade el comando `'customize_cmd cust_pkgng'` en un fichero de configuración "
+"personalizado."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:318
+msgid ""
+"Both methods achieve the same result: launching the `cust_pkgng` routine. "
+"This routine will go through `NANO_PACKAGE_DIR` directory to find either all "
+"packages or just the list of packages in the `NANO_PACKAGE_LIST` variable."
+msgstr ""
+"Ambos métodos consiguen el mismo resultado: lanzar la rutina `cust_pkgng`. "
+"Esta rutina recorrerá el directorio `NANO_PACKAGE_DIR` para encontrar bien "
+"todos los paquetes o sólo la lista de paquetes de la variable "
+"`NANO_PACKAGE_LIST`."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:324
+msgid ""
+"It is common, when installing applications through pkg on a standard FreeBSD "
+"environment, that the install process puts configuration files, in the [."
+"filename]#usr/local/etc# directory, and startup scripts in the [.filename]#/"
+"usr/local/etc/rc.d# directory. So, after the required packages have been "
+"installed, they need to be configured in order for them to start right out "
+"of the box. To do so, the necessary configuration files have to be "
+"installed in the correct directories. This can be achieved by writing "
+"dedicated routines or the generic `cust_install_files` routine can be used "
+"to lay out files properly from the [.filename]#/usr/src/tools/tools/nanobsd/"
+"Files# directory. Usually a statement, sometimes multiple statements, in "
+"the [.filename]#/etc/rc.conf# also needs to be added for each package."
+msgstr ""
+"Cuando se instalan aplicaciones mediante pkg en un entorno FreeBSD estándar, "
+"es habitual que el proceso de instalación cree ficheros de configuración en "
+"el directorio [.filename]#/usr/local/etc#, y scripts de arranque en el "
+"directorio [.filename]#/usr/local/etc/rc.d#. De modo que después de que se "
+"hayan instalado los paquetes necesarios, necesitan ser configurados para que "
+"estén listos para usar. Para ello se tienen que instalar los ficheros de "
+"configuración necesarios en los directorios correctos. Esto se puede "
+"conseguir escribiendo rutinas dedicadas o se puede utilizar la rutina "
+"genérica `cust_install_files` para copiar los ficheros desde el directorio [."
+"filename]#/usr/src/tools/tools/nanobsd/Files#. Para cada paquete normalmente "
+"se necesita añadir una línea (a veces varias) en [.filename]#/etc/rc.conf#."
+
+#. type: Title ====
+#: documentation/content/en/articles/nanobsd/_index.adoc:325
+#, no-wrap
+msgid "Configuration File Example"
+msgstr "Ejemplo de Archivo de Configuración"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:328
+msgid ""
+"A complete example of a configuration file for building a custom NanoBSD "
+"image can be:"
+msgstr ""
+"Un ejemplo completo de un archivo de configuración para construir una imagen "
+"personalizada de NanoBSD podría ser:"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:335
+#, no-wrap
+msgid ""
+"NANO_NAME=custom\n"
+"NANO_SRC=/usr/src\n"
+"NANO_KERNEL=MYKERNEL\n"
+"NANO_IMAGES=2\n"
+msgstr ""
+"NANO_NAME=custom\n"
+"NANO_SRC=/usr/src\n"
+"NANO_KERNEL=MYKERNEL\n"
+"NANO_IMAGES=2\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:341
+#, no-wrap
+msgid ""
+"CONF_BUILD='\n"
+"WITHOUT_KLDLOAD=YES\n"
+"WITHOUT_NETGRAPH=YES\n"
+"WITHOUT_PAM=YES\n"
+"'\n"
+msgstr ""
+"CONF_BUILD='\n"
+"WITHOUT_KLDLOAD=YES\n"
+"WITHOUT_NETGRAPH=YES\n"
+"WITHOUT_PAM=YES\n"
+"'\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:357
+#, no-wrap
+msgid ""
+"CONF_INSTALL='\n"
+"WITHOUT_ACPI=YES\n"
+"WITHOUT_BLUETOOTH=YES\n"
+"WITHOUT_FORTRAN=YES\n"
+"WITHOUT_HTML=YES\n"
+"WITHOUT_LPR=YES\n"
+"WITHOUT_MAN=YES\n"
+"WITHOUT_SENDMAIL=YES\n"
+"WITHOUT_SHAREDOCS=YES\n"
+"WITHOUT_EXAMPLES=YES\n"
+"WITHOUT_INSTALLLIB=YES\n"
+"WITHOUT_CALENDAR=YES\n"
+"WITHOUT_MISC=YES\n"
+"WITHOUT_SHARE=YES\n"
+"'\n"
+msgstr ""
+"CONF_INSTALL='\n"
+"WITHOUT_ACPI=YES\n"
+"WITHOUT_BLUETOOTH=YES\n"
+"WITHOUT_FORTRAN=YES\n"
+"WITHOUT_HTML=YES\n"
+"WITHOUT_LPR=YES\n"
+"WITHOUT_MAN=YES\n"
+"WITHOUT_SENDMAIL=YES\n"
+"WITHOUT_SHAREDOCS=YES\n"
+"WITHOUT_EXAMPLES=YES\n"
+"WITHOUT_INSTALLLIB=YES\n"
+"WITHOUT_CALENDAR=YES\n"
+"WITHOUT_MISC=YES\n"
+"WITHOUT_SHARE=YES\n"
+"'\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:368
+#, no-wrap
+msgid ""
+"CONF_WORLD='\n"
+"WITHOUT_BIND=YES\n"
+"WITHOUT_MODULES=YES\n"
+"WITHOUT_KERBEROS=YES\n"
+"WITHOUT_GAMES=YES\n"
+"WITHOUT_RESCUE=YES\n"
+"WITHOUT_LOCALES=YES\n"
+"WITHOUT_SYSCONS=YES\n"
+"WITHOUT_INFO=YES\n"
+"'\n"
+msgstr ""
+"CONF_WORLD='\n"
+"WITHOUT_BIND=YES\n"
+"WITHOUT_MODULES=YES\n"
+"WITHOUT_KERBEROS=YES\n"
+"WITHOUT_GAMES=YES\n"
+"WITHOUT_RESCUE=YES\n"
+"WITHOUT_LOCALES=YES\n"
+"WITHOUT_SYSCONS=YES\n"
+"WITHOUT_INFO=YES\n"
+"'\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:370
+#, no-wrap
+msgid "FlashDevice SanDisk 1G\n"
+msgstr "FlashDevice SanDisk 1G\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:375
+#, no-wrap
+msgid ""
+"cust_nobeastie() (\n"
+"\ttouch ${NANO_WORLDDIR}/boot/loader.conf\n"
+"\techo \"beastie_disable=\\\"YES\\\"\" >> ${NANO_WORLDDIR}/boot/loader.conf\n"
+")\n"
+msgstr ""
+"cust_nobeastie() (\n"
+"\ttouch ${NANO_WORLDDIR}/boot/loader.conf\n"
+"\techo \"beastie_disable=\\\"YES\\\"\" >> ${NANO_WORLDDIR}/boot/loader.conf\n"
+")\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:380
+#, no-wrap
+msgid ""
+"customize_cmd cust_comconsole\n"
+"customize_cmd cust_install_files\n"
+"customize_cmd cust_allow_ssh_root\n"
+"customize_cmd cust_nobeastie\n"
+msgstr ""
+"customize_cmd cust_comconsole\n"
+"customize_cmd cust_install_files\n"
+"customize_cmd cust_allow_ssh_root\n"
+"customize_cmd cust_nobeastie\n"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:384
+msgid ""
+"All the build and install compilation options can be found in the man:src."
+"conf[5] man page, but not all options can or should be used when building a "
+"NanoBSD image. The build and install options should be defined according to "
+"the needs of the image being built."
+msgstr ""
+"Todas las opciones de construcción e instalación se pueden encontrar en la "
+"página del manual de man:src.conf[5], pero no todas las opciones se pueden o "
+"se deben usar cuando se construye una imagen de NanoBSD. Las opciones de "
+"construcción e instalación se deberían definir de acuerdo a las necesidades "
+"de la imagen que se está construyendo."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:388
+msgid ""
+"For example, the ftp client and server might not be needed. Adding "
+"`WITHOUT_FTP=TRUE` to a configuration file in the `CONF_BUILD` section will "
+"avoid having them built. Also, if the NanoBSD appliance will not be used to "
+"build programs then it is possible to add the `WITHOUT_BINUTILS=TRUE` in the "
+"`CONF_INSTALL` section; but not in the `CONF_BUILD` section as they will be "
+"used to build the NanoBSD image."
+msgstr ""
+"Por ejemplo, el cliente y el servidor de ftp podrían no ser necesarios. "
+"Añadir `WITHOUT_FTP=TRUE` a un fichero de configuración en la sección "
+"`CONF_BUILD` evitará compilarlos. También, si el dispositivo NanoBSD no se "
+"va a usar para construir programas entonces es posible añadir "
+"`WITHOUT_BINUTILS=TRUE` en la sección `CONF_INSTALL`; pero no en la sección "
+"`CONF_BUILD` ya que serán usadas para construir la imagen de NanoBSD."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:390
+msgid ""
+"Not building a particular set of programs - through a compilation option - "
+"shortens the overall building time and lowers the required size for the disk "
+"image, whereas not installing the same specific set of programs does not "
+"lower the overall building time."
+msgstr ""
+"Evitar compilar un conjunto de programas en particular - mediante una opción "
+"de compilación - acorta el tiempo total de construcción y reduce el tamaño "
+"necesario para la imagen de disco, mientras que no instalar dicho conjunto "
+"de programas no disminuye el tiempo total de construcción."
+
+#. type: Title ===
+#: documentation/content/en/articles/nanobsd/_index.adoc:391
+#, no-wrap
+msgid "Updating NanoBSD"
+msgstr "Actualizando NanoBSD"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:394
+msgid "The update process of NanoBSD is relatively simple:"
+msgstr "El proceso de actualización de NanoBSD es relativamente simple:"
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:398
+msgid "Build a new NanoBSD image, as usual."
+msgstr "Construye una nueva imagen de NanoBSD de forma habitual."
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:399
+msgid ""
+"Upload the new image into an unused partition of a running NanoBSD appliance."
+msgstr ""
+"Sube la imagen nueva a una partición sin usar en el dispositivo que esté "
+"ejecutando NanoBSD."
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:401
+msgid ""
+"The most important difference of this step from the initial NanoBSD "
+"installation is that now instead of using [.filename]#\\_.disk.full# (which "
+"contains an image of the entire disk), the [.filename]#_.disk.image# image "
+"is installed (which contains an image of a single system partition)."
+msgstr ""
+"La diferencia más importante entre este paso y la instalación inicial de "
+"NanoBSD es que ahora, en lugar de usar [.filename]#\\_.disk.full# (que "
+"contiene la imagen completa del disco), se instala la imagen [.filename]#_."
+"disk.image# (la cual contiene la imagen de una sola partición del sistema)."
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:402
+msgid "Reboot, and start the system from the newly installed partition."
+msgstr "Reinicia y arranca el sistema desde la partición recién instalada."
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:403
+msgid "If all goes well, the upgrade is finished."
+msgstr "Si todo termina correctamente, la actualización habrá finalizado."
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:404
+msgid ""
+"If anything goes wrong, reboot back into the previous partition (which "
+"contains the old, working image), to restore system functionality as fast as "
+"possible. Fix any problems of the new build, and repeat the process."
+msgstr ""
+"Si algo sale mal, reinicia en la partición anterior (que contiene la antigua "
+"imagen que funciona correctamente), para restaurar la funcionalidad del "
+"sistema tan rápido como sea posible. Arregla los problemas de la nueva "
+"imagen y repite el proceso."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:407
+msgid ""
+"To install new image onto the running NanoBSD system, it is possible to use "
+"either the [.filename]#updatep1# or [.filename]#updatep2# script located in "
+"the [.filename]#/root# directory, depending from which partition is running "
+"the current system."
+msgstr ""
+"Para instalar una nueva imagen en un sistema que está ejecutando NanoBSD, es "
+"posible utilizar los scripts [.filename]#updatep1# o [.filename]#updatep2# "
+"que se encuentran en el directorio [.filename]#/root#, dependiendo de la "
+"partición desde la que se esté ejecutando el sistema actual."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:409
+msgid ""
+"According to which services are available on host serving new NanoBSD image "
+"and what type of transfer is preferred, it is possible to examine one of "
+"these three ways:"
+msgstr ""
+"Dependiendo de los servicios disponibles en el host que ofrece la nueva "
+"imagen de NanoBSD y el tipo de transferencia preferido, es posible examinar "
+"uno de estos tres métodos:"
+
+#. type: Title ====
+#: documentation/content/en/articles/nanobsd/_index.adoc:410
+#, no-wrap
+msgid "Using man:ftp[1]"
+msgstr "Usar man:ftp[1]"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:413
+msgid "If the transfer speed is in first place, use this example:"
+msgstr ""
+"Si la velocidad de transferencia es una prioridad, utiliza este ejemplo:"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:418
+#, no-wrap
+msgid ""
+"# ftp myhost\n"
+"get _.disk.image \"| sh updatep1\"\n"
+msgstr ""
+"# ftp myhost\n"
+"get _.disk.image \"| sh updatep1\"\n"
+
+#. type: Title ====
+#: documentation/content/en/articles/nanobsd/_index.adoc:420
+#, no-wrap
+msgid "Using man:ssh[1]"
+msgstr "Usar man:ssh[1]"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:423
+msgid "If a secure transfer is preferred, consider using this example:"
+msgstr "Si prefieres una transferencia segura, considera usar este ejemplo:"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:427
+#, no-wrap
+msgid "# ssh myhost cat _.disk.image.gz | zcat | sh updatep1\n"
+msgstr "# ssh myhost cat _.disk.image.gz | zcat | sh updatep1\n"
+
+#. type: Title ====
+#: documentation/content/en/articles/nanobsd/_index.adoc:429
+#, no-wrap
+msgid "Using man:nc[1]"
+msgstr "Usar man:nc[1]"
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:432
+msgid ""
+"Try this example if the remote host is not running neither man:ftpd[8] or "
+"man:sshd[8] service:"
+msgstr ""
+"Prueba este ejemplo si el host remoto no está ejecutando ni el servicio "
+"man:ftpd[8] ni el servicio man:sshd[8]:"
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:436
+msgid ""
+"At first, open a TCP listener on host serving the image and make it send the "
+"image to client:"
+msgstr ""
+"En primer lugar, abre un puerto TCP en el host que se encuentra sirviendo la "
+"imagen y haz que envíe la imagen al cliente:"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:440
+#, no-wrap
+msgid "myhost# nc -l 2222 < _.disk.image\n"
+msgstr "myhost# nc -l 2222 < _.disk.image\n"
+
+#. type: delimited block = 6
+#: documentation/content/en/articles/nanobsd/_index.adoc:445
+msgid ""
+"Make sure that the used port is not blocked to receive incoming connections "
+"from NanoBSD host by firewall."
+msgstr ""
+"Asegúrate de que el puerto que usas no está bloqueado por ningún firewall "
+"para recibir conexiones entrantes desde el host NanoBSD."
+
+#. type: Plain text
+#: documentation/content/en/articles/nanobsd/_index.adoc:447
+msgid ""
+"Connect to the host serving new image and execute [.filename]#updatep1# "
+"script:"
+msgstr ""
+"Conéctate al host que sirve la nueva imagen y ejecuta el script [."
+"filename]#updatep1#:"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/nanobsd/_index.adoc:451
+#, no-wrap
+msgid "# nc myhost 2222 | sh updatep1\n"
+msgstr "# nc myhost 2222 | sh updatep1\n"
+
+#~ msgid ""
+#~ "include::shared/attributes/attributes-{{% lang %}}.adoc[] include::shared/"
+#~ "{{% lang %}}/teams.adoc[] include::shared/{{% lang %}}/mailing-lists."
+#~ "adoc[] include::shared/{{% lang %}}/urls.adoc[]"
+#~ msgstr ""
+#~ "include::shared/attributes/attributes-{{% lang %}}.adoc[]\n"
+#~ "include::shared/{{% lang %}}/teams.adoc[]\n"
+#~ "include::shared/{{% lang %}}/mailing-lists.adoc[]\n"
+#~ "include::shared/{{% lang %}}/urls.adoc[]"