Hardware · 22 min read · Jan 11, 2026

CONSTRUYENDO UN SISTEMA WRAP DE PC ENGINES PARA USO GENERAL

KEYWORDS: PC ENGINES WRAP WRAP BOARD WRAP PLATFORM LINUX DEBIAN SBC SOC LINUX ON WRAP LOW-POWER SMALL SILENT SERVER

Autor: Nathan L. Cutler
Fecha: 18 de junio de 2006

Descargo de responsabilidad

Este documento se proporciona con la esperanza de que pueda resultar útil para alguien. Sin embargo, si sigue los procedimientos descritos en este documento, lo hace BAJO SU PROPIO RIESGO. El Autor no emite ninguna garantía de que seguir las instrucciones aquí llevará al resultado deseado. El Autor no acepta ninguna responsabilidad por cualquier cosa que le suceda a cualquiera que lea o use este documento de alguna otra manera.

Antecedentes

He estado usando Linux más o menos como usuario durante más de diez años. Durante los últimos años no he hecho mucho con él. En mayo de 2006, mi amigo Chip Coldwell (http://frank.harvard.edu/~coldwell) me habló de una Computadora de Placa Única (SBC) basada en ARM que había adquirido y estaba convirtiendo en un contestador automático. Estaba haciendo cosas interesantes con ella, como habilitar transferencias DMA en el controlador serie del núcleo. Había escuchado el término “computación embebida” antes, pero hasta entonces no me había dado cuenta de lo que significaba. Cuando vi las fotos de la SBC de Chip (basada en un chip Atmel “System-on-a-Chip” (SoC) (juego de palabras intencionado)) y leí en la red sobre personas que ejecutaban Linux en estas pequeñas computadoras despojadas, me cautivó la idea de tener un sistema Linux que consume menos de 10W de energía, sin ventiladores ni discos giratorios. Finalmente logré hacer funcionar un sistema sin ventiladores giratorios, pero tuve que ceder y conseguir un disco giratorio para ello.

Pasé aproximadamente una semana mirando varias opciones, pero básicamente se redujo a tres:

  • la plataforma WRAP de PC Engines, con sede en Suiza (http://www.pcengines.ch)
  • una placa VIA EPIA (factor de forma Mini-ITX) basada en el chip C3 Eden
  • resucitar una antigua placa Pentium 90 (con un disipador pasivo), instalar un adaptador USB y ejecutarla con una unidad flash en lugar de un disco duro

Estas se enumeran en el orden en que las consideré. Al principio estaba muy entusiasmado con el WRAP, pero pronto empecé a preocuparme de que no tuviera suficiente potencia para mis necesidades, ya que soñaba con usarlo para reproducir MP3 y ejecutar X, y cosas así, y el WRAP no tiene capacidad de sonido ni VGA y no hay forma de agregarlas. Así que me interesé por la línea de placas EPIA de VIA, una de las cuales tiene un convertidor DC-DC a bordo y puede funcionar con un “adaptador de pared”. De nuevo, después de un par de días de investigación, estaba listo para comprar componentes y construir un sistema. Pero luego mi esposa sugirió que podría ser mejor esperar antes de hacer una inversión así y me eché atrás y empecé a considerar la alternativa de bajo costo (tercera en la lista anterior). Sin embargo, para eso tendría que comprar uno de los nuevos suministros de energía conmutados sin ventilador y un adaptador USB, lo que aumentaría significativamente el costo, y sabía que tal sistema consumiría mucha más energía que el WRAP o el VIA EPIA.

Más tarde me di cuenta de que las tarjetas de memoria de estado sólido y las unidades flash realmente no son apropiadas para ejecutar un sistema de propósito general. Pueden ser buenas para enrutadores y otras aplicaciones embebidas que pueden funcionar con una unidad de solo lectura + un pequeño disco RAM, pero para tus necesidades diarias de computación en Linux, realmente necesitas tener un disco duro giratorio. Afortunadamente, ahora hay Microdrives asequibles que se conectan directamente en la ranura CF del WRAP, que acepta tanto tarjetas CF Tipo I como Tipo II.

Me lanzo

Finalmente decidí por el WRAP, por las siguientes razones:

  • Consumo de energía más bajo de las 3 opciones, por mucho
  • Miniaturización extrema - lo hace parecer más genial
  • Apoyar a pequeñas empresas - la placa es diseñada por un tipo en Suiza, no por una corporación
  • Se puede modificar para soportar USB, así que puedo conectar impresoras y el módem CDMA a ella.
  • Tiene más memoria (128MB) que la antigua placa Pentium 90, para la cual sería difícil encontrar módulos de memoria
  • Podría vivir sin las capacidades de audio y video, ya que siempre puedo hacer cosas de A/V en mi caja Linux regular

Así que compré la placa WRAP. Dado que quiero y necesito que mi sistema tenga capacidad USB, me sorprendió gratamente escuchar que tenían un adaptador USB dual para ello, así que también lo conseguí. Más sobre cómo agregar la opción USB más adelante. También compré un adaptador Compact Flash-IDE, que (supuestamente) te permite conectar una tarjeta CF a una interfaz IDE regular y hacer que se vea como un disco duro.

Después de llegar a casa, me di cuenta de que faltaban dos componentes críticos: (1) una tarjeta CF para el sistema de archivos raíz, y (2) un cable NULL Modem, sin el cual no podría ver los mensajes de arranque. Para la energía decidí usar un adaptador de corriente AC/DC “Universal” que tenía en almacenamiento. Lo saqué, encontré un conector que encajaba en la placa y probé la salida usando mi multímetro. Estaba justo en 12V, y asumo que los 6VA que produce serán suficientes para alimentar la placa WRAP.

El cable NULL Modem que necesitas tiene conectores hembra de 9 pines en ambos extremos. Dado que la placa WRAP no tiene capacidad VGA, la única forma de acceder a la configuración de BIOS y ver los mensajes de arranque es a través del puerto serie (de ahí el cable NULL Modem), utilizando un emulador de terminal en una segunda computadora.

¿Tarjeta CF o Microdrive?

Al principio tenía la noción errónea de que tendría el sistema de archivos raíz en una tarjeta CF de 512MB y el resto de mis datos en una unidad flash de 1GB conectada a través de USB 1.1 (el WRAP no soporta USB 2.0). Afortunadamente no compré la unidad flash, aunque sí compré la tarjeta CF; aún así, fue barata (menos de 400 CZK) y puedo mantener una instalación de Voyage Linux en ella si alguna vez decido usar el WRAP como un enrutador dedicado.

Después de intentar instalar un sistema Debian en la tarjeta CF y quedarme atascado al intentar hacerlo funcionar en modo de solo lectura con solo ciertos archivos y directorios críticos en un sistema de archivos tmpfs (disco RAM), me rendí e instalé Voyage Linux 0.2. Eso fue relativamente indoloro, y fue agradable ver que mi pequeña placa WRAP arrancaba y me daba un prompt de Linux, pero gradualmente me di cuenta de que realmente necesito tener un disco duro, porque quiero usar el sistema de manera cotidiana y necesito que el sistema de archivos raíz sea de lectura y escritura todo el tiempo. Después de investigar, llegué a tres opciones diferentes para agregar un HDD al WRAP:

  • Construir mi propio adaptador CF-a-IDE (es decir, uno que me permita conectar un disco IDE en la ranura CF de la placa WRAP)
  • Comprar un NASD (Dispositivo de Almacenamiento Conectado a la Red), reflashear el firmware para hacerlo funcionar con Linux, exportar comparticiones NFS al WRAP
  • Comprar un Microdrive y conectarlo en la ranura CF del WRAP

Los escribí en el orden en que se me ocurrieron. La primera opción era la más interesante para mí, ya que pensé que tenía tres o cuatro discos de 3.5” tirados, podría usar uno de ellos. Sin embargo, increíble como pueda parecer, no hay un adaptador disponible que convierta una ranura CF en un puerto IDE, aunque la ranura CF opera en modo “True IDE”. Parte del problema es el voltaje: la placa WRAP solo suministra 3.3V a la CF, mientras que un disco IDE necesita 5V. Eso lo convierte en una propuesta más de tipo hackeo de hardware, que implica soldar 44 cables. Sería difícil con el conector IDE estándar, pero con el conector CF, que es mucho más pequeño, sería casi imposible.

Hasta ayer no tenía idea de que existía algo como un NAS. Me enteré de ellos porque pensé que tal vez existía un adaptador para conectar un disco IDE a un puerto Ethernet RJ45. Supuse que, dado que tengo una interfaz LAN extra que no estoy usando, podría conectar el HDD a eso. Efectivamente, encontré un montón de pequeñas cajas que tienen discos duros en su interior: solo tienes que conectarlas a tu LAN y listo. El problema es que estas cajas son significativamente más caras que un HDD de 3.5” porque dentro contienen SBCs (Computadoras de Placa Única). Pero, me dije a mí mismo, un SBC es lo que estoy tratando de construir aquí: no tiene mucho sentido tener dos de ellos. Aún así, me sentí tentado a comprar un Linksys LSLU2 Network Storage Link, porque descubrí que hay una comunidad activa de entusiastas trabajando en hackearlo. Incluso tienen varias versiones diferentes de nuevo firmware para ello, así que puedes reflashear completamente el firmware y convertirlo en una caja Linux. Esta solución parecía interesante, pero tuve que admitir que era un desvío.

A partir de mi correspondencia con Pascal Dornier, el diseñador de la placa WRAP, aprendí que puedes simplemente conectar un Microdrive en el WRAP, y que funcionará. No había considerado esta posibilidad, porque (1) solo tenía una noción vaga de lo que es un “Microdrive”, y (2) pensé que requeriría demasiada energía para la fuente de alimentación de la placa WRAP y (3) pensé que el WRAP solo aceptaba tarjetas CF Tipo I. Resulta que el Microdrive es una solución ideal: Pascal fue tajante en que funcionaría, así que salí y compré uno. Con este obstáculo superado, el camino para convertir mi pequeña placa WRAP en una caja Linux de propósito general estaba abierto.

Según las especificaciones técnicas, el Microdrive IBM/Hitachi de 4GB consume 395mA a 3.3V para escribir, lo que equivale a 1.3 vatios.

Configurando el Sistema de Archivos Raíz

Dado que tenía tiempo durante el fin de semana, busqué en la red y encontré un HOWTO (en realidad una entrada de blog) de Jan Willem (http://www.lextreme.nl) para instalar un sistema Debian regular en la placa WRAP. Esto me atrajo ya que las alternativas, como Voyage Linux, aunque apoyan explícitamente el WRAP, están orientadas a aplicaciones de enrutamiento inalámbrico y ejecutan el sistema de archivos raíz desde una tarjeta CF. Estaba buscando una solución más de propósito general, y simplemente Debian parecía ideal. La instalación es sencilla. Necesitas un adaptador CF-a-IDE para permitir que el Microdrive se conecte a una computadora que ya esté ejecutando Linux y tenga una conexión a Internet o un CD de instalación de Debian. Esencialmente, se reduce a los siguientes pasos básicos, que son solo una versión ligeramente modificada del procedimiento de Jan Willem:

  • Usando fdisk, crea dos particiones en el Microdrive, swap y root
  • Formatea el Microdrive usando mkfs.ext3 (usaré un sistema de archivos con journaling) y mkswap
  • Monta el Microdrive, digamos, bajo /mnt
  • Usando debootstrap, descarga e instala un sistema Debian mínimo en /mnt
  • Instala el kernel 2.6.15 de Voyage Linux 0.2, configura los módulos
  • ejecuta lilo -r /mnt para instalar el cargador de arranque lilo
  • Mueve el Microdrive al WRAP
  • Arranca el WRAP

Esta es solo una lista generalizada de los pasos. Los detalles siguen.

fdisk

Después de conectar mi tarjeta CF-a-IDE al puerto IDE1 de mi caja Linux, insertar el Microdrive en la ranura CF y encender la caja Linux, dmesg ve el Microdrive como /dev/hdc:

hdc: HMS360404D5CF00, CFA DISK drive
...
hdc: max request size: 128KiB
hdc: 7999488 sectors (4095 MB) w/128KiB Cache, CHS=7936/16/63, UDMA(33)
hdc: cache flushes supported
  hdc: hdc1

Así que ejecuto “fdisk /dev/hdc” como root. El Microdrive viene preformateado con un sistema de archivos FAT32.

Disco /dev/hdc: 4095 MB, 4095737856 bytes
128 heads, 63 sectors/track, 992 cylinders
Units = cylinders of 8064 * 512 = 4128768 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/hdc1   *           1         992     3999712+   b  W95 FAT32

Por lo tanto, el primer paso es eliminar ese bebé y crear una partición swap y una partición raíz en su lugar.

Disco /dev/hdc: 4095 MB, 4095737856 bytes
128 heads, 63 sectors/track, 992 cylinders
Units = cylinders of 8064 * 512 = 4128768 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1          32      128992+  82  Linux swap / Solaris
/dev/hda2              33         992     3870720   83  Linux

Como puedes ver, coloqué la partición swap al principio del disco. Probablemente podría prescindir de cualquier swap, pero ¿qué demonios? 128MB es solo alrededor del 3% del disco. Con un sistema de un solo disco, la partición swap “se supone” que debe estar en el centro del disco, pero habiendo hecho esto antes, preferiría tener todos mis datos en un solo sistema de archivos que esparcirlos en dos.

Inicializar las Particiones y Montar

De todos modos, los siguientes comandos son para inicializar las nuevas particiones:

mkswap /dev/hdc1  
mkfs.ext3 /dev/hdc2

Estos dos se ejecutaron sin problemas, así que monté /dev/hdc2 como /mnt:

mount -t ext3 /dev/hdc2 /mnt

Instalar un Sistema Debian Mínimo Usando debootstrap

Luego se me ocurrió que (1) el soporte ext3 tiene que estar compilado en el núcleo, o (2) tengo que usar initramfs para cargar el módulo ext3 en el arranque. Esto podría plantear un problema con el núcleo de Voyage Linux, que es del tipo monolítico, si no tiene ext3 compilado. Pero una rápida mirada a “voyage-0.2/boot/config-2.6.15-486-voyage” me tranquilizó. ext3 está allí. Puedo continuar.

debootstrap sid /mnt ftp://ftp.cz.debian.org/debian/

Quería instalar “sid”, que es más nuevo, pero falló en el punto donde intentó descargar el pasaje “base-config”. Por alguna razón, la lista de paquetes de sid incluye “base-config” pero el repositorio sid no contiene ese paquete. Más tarde, sin embargo, aprendí que para instalar sid en un sistema sarge como el mío, tengo que actualizar a la versión sid de debootstrap, lo cual tiene mucho sentido. Después de hacer eso, funcionó, sin ningún error.

¿Qué sigue?

En mi intento anterior de hacer funcionar Debian en el WRAP (usando una tarjeta CF), inmediatamente hice chroot a /mnt en este punto y traté de configurar el sistema mientras la tarjeta CF aún estaba en mi máquina de instalación. Esto no funcionó muy bien, especialmente cuando se trató de ejecutar “base-config”. El problema eran los locales: en la cárcel chroot, base-config no veía ningún soporte de locales, pero podía ver mis variables de entorno locales. Así que arrojó muchas advertencias. Deseando evitar esto, prescindiré de la configuración inicial y procederé directamente a instalar el núcleo y ejecutar lilo.

Instalando el Núcleo Voyage Linux 2.6.15

Después de un intento débil de compilar un paquete de núcleo para el WRAP, me rendí y descargué Voyage Linux 0.2, que incluye un núcleo precompilado que ha sido parcheado para funcionar bien con el WRAP. Una buena característica de este núcleo (además del soporte ext3 compilado, como se mencionó anteriormente) es que tiene literalmente todo incluido como módulos. Así que no tienes que recompilar: si necesitas activar una característica del núcleo, simplemente agregas el nombre del módulo a /etc/modules.

Primero, descomprimí el tarball voyage-0.2 y empecé a investigar. Ejecuté los siguientes comandos para llevar el núcleo Voyage a mi sistema de archivos raíz CF:

cd voyage-0.2  
cp -a boot/* /mnt/boot  
cp -a lib/modules/* /mnt/lib/modules

Configuración Básica (Pre-arranque)

Módulos del Núcleo

El primer archivo de configuración que abordé fue /etc/modules. Aquí está el /etc/modules creado por el script de configuración de la distribución Voyage Linux para la placa WRAP, menos los controladores WLAN, que no están cubiertos por este documento:

# Interfaces LAN  
natsemi   
# temporizador de vigilancia incluido en el procesador Geode `SC1100`  
# Descomentar la siguiente línea si estás ejecutando el demonio de vigilancia  
# wd1100 sysctl_wd_graceful=0 sysctl_wd_timeout=30   
# hardware de monitorización térmica  
lm77  
# National Semiconductor SCx200 ACCESS.bus (necesario para lectura de temperatura)  
scx200_acb base=0x820,0   

Otra cosa que se me ocurrió hacer es “depmod”, pero luego me di cuenta de que el archivo modules.dep ya está allí en /mnt/lib/modules/2.6.15-486-voyage, así que no hay necesidad.

/etc/inittab

El siguiente archivo de configuración a editar es /etc/inittab. ESTO ES CRUCIAL, DE LO CONTRARIO NO OBTENDRÁS UNA CONSOLA SERIE. Por razones obvias, la instalación estándar de Debian asume que tendrás un teclado y VGA como tu consola de Linux. Pero el WRAP necesita una consola serie. Eso significa que editamos /etc/inittab para deshacernos de las consolas virtuales y habilitar una consola serie. Esto es muy sencillo, pero debes tener cuidado con la velocidad de baudios: si no coincide con lo que la BIOS del WRAP está esperando, no verás nada en el emulador de terminal al arrancar. Para averiguar a qué está configurado el WRAP, presiona la tecla “s” mientras el WRAP está realizando su prueba de memoria inicial. Esto te llevará al menú de BIOS, donde puedes establecer 9600, 38400 o incluso una velocidad de baudios más alta. Yo opté por 38400. Aquí está el archivo completo /etc/inittab:

# /etc/inittab: configuración de init(8).  
# $Id: index.html,v 1.2 2006/06/19 08:52:38 livingston Exp $  
  
# El nivel de ejecución predeterminado.  
id:2:initdefault:  
  
# Script de configuración/inicialización del sistema en el arranque.  
# Este se ejecuta primero, excepto cuando se arranca en modo de emergencia (-b).  
si::sysinit:/etc/init.d/rcS  
  
# Qué hacer en modo de usuario único.  
~~:S:wait:/sbin/sulogin  
  
# /etc/init.d ejecuta los scripts S y K al cambiar  
# de nivel de ejecución.  
#  
# El nivel de ejecución 0 es detener.  
# El nivel de ejecución 1 es usuario único.  
# Los niveles de ejecución 2-5 son multiusuario.  
# El nivel de ejecución 6 es reiniciar.  
  
l0:0:wait:/etc/init.d/rc 0  
l1:1:wait:/etc/init.d/rc 1  
l2:2:wait:/etc/init.d/rc 2  
l3:3:wait:/etc/init.d/rc 3  
l4:4:wait:/etc/init.d/rc 4  
l5:5:wait:/etc/init.d/rc 5  
l6:6:wait:/etc/init.d/rc 6  
# Normalmente no se alcanza, pero se ejecuta en caso de emergencia.  
z6:6:respawn:/sbin/sulogin  
  
# Qué hacer cuando falla/retorna la energía.  
pf::powerwait:/etc/init.d/powerfail start  
pn::powerfailnow:/etc/init.d/powerfail now  
po::powerokwait:/etc/init.d/powerfail stop  
  
# Consola serie para WRAP  
T0:23:respawn:/sbin/getty -L ttyS0 38400 vt100

La última línea ejecuta getty en el puerto serie, permitiendo iniciar sesión como root.

/etc/fstab

Aquí vamos con la estrategia KISS (Keep It Simple, Stupid). Dado que tenemos un Microdrive, podemos prescindir de la noción de minimizar el número de escrituras en el sistema de archivos raíz.

# WRAP con Microdrive  
/dev/hda1 swap swap defaults, 1 1  
/dev/hda2 / ext3 defaults, 0 0  
proc /proc proc defaults

/etc/apt/sources.list

Este archivo es utilizado por “apt-get” para encontrar repositorios de paquetes deb. Solo necesitamos una entrada en este punto:

deb http://ftp.debian.cz/debian/ sid main

Una vez que tengamos este archivo creado en el árbol /mnt, hacemos chroot y instalamos paquetes adicionales. Algunos, como “less”, son conveniencias, pero otros, como “lilo”, son críticos y no podrás arrancar el WRAP sin ellos.

chroot /mnt /bin/bash  
mount /proc  
apt-get update  
apt-get install watchdog # va con el módulo wd1100  
apt-get install less  
apt-get install lilo # ¡CRÍTICO! ¡ESTO ES UN DEBE!  
apt-get install udev # ¡CRÍTICO! ¡ESTO ES UN DEBE!  
apt-get install [tu paquete favorito sin el cual no puedes vivir]

Ten en cuenta que, hasta donde sé, grub no funcionará con el WRAP y tienes que usar LILO. Solo estoy repitiendo lo que leí en otros lugares, aunque no hablo desde la experiencia.

/etc/lilo.conf

El siguiente paso es instalar lilo (¿realmente he llegado tan lejos?). Aquí está cómo lo hice. Después de hackear y leer el manual, llegué a esto para el archivo de configuración:

boot = /dev/hdc # El Microdrive aparece como /dev/hdc en mi sistema  
disk = /dev/hdc # Microdrive  
bios = 0x80 # La BIOS del WRAP lo verá como Maestro Primario  
#compact  
lba32 # establecer LBA en la configuración de BIOS del WRAP - pero lo probé con CHS y también funciona  
install=text  
map=/boot/map  
vga=normal  
delay=1  
timeout=50  
prompt  
serial=0,38400n8 # No hay forma de establecer dúplex, así que obtengo duplicación de cada carácter al arrancar. Suspiro.  
default=Linux  
  
image=/vmlinuz  
# initrd=/initrd.img # Voyage Linux no usa initramfs (¡Gracias a Dios!)  
root=/dev/hda2 # Así es como aparecerá el Microdrive en el WRAP  
label=Linux  
append="console=ttyS0,38400n8 reboot=bios"  
read-only  
# restricted  
# alias=1

Si estás usando “sid”, hay un inconveniente: el chroot en “sid” funciona de manera diferente al de sarge. En el entorno chroot, no hay “/dev/hda” o “/dev/hdc” en absoluto. Cuando ejecutas “df” obtienes esto:

Filesystem 1K-blocks Used Available Use% Mounted on  
sysfs 3809936 220184 3396216 7% /sys

Que es el Microdrive, pero no como “/dev/hdc”. Mirando en el directorio /dev, veo que solo hay un conjunto mínimo de archivos de dispositivo que no incluye /dev/hdc. Así que “lilo -t” produce un error de que no puede encontrar /dev/hdc. Además, el enlace simbólico “vmlinuz” en el directorio raíz necesita ser creado. La solución alternativa que se me ocurrió para esto es la siguiente, asumiendo que ya estamos chrooted a /mnt:

cd /  
ln -si boot/vmlinuz-2.6.15-486-voyage vmlinuz  
cd dev  
./MAKEDEV hda  
./MAKEDEV hdc  
lilo -t

En mi sistema, esto fue suficiente para pasar por lilo -t sin errores.
A continuación hice:

lilo -v # pasó sin errores  
umount /proc # no sé si esto es necesario  
exit # salir del chroot  
umount /dev/hdc2 # desmontar el Microdrive  
shutdown -h now

El Momento de la Verdad

Todo lo que queda es colocar el Microdrive en la placa WRAP y encenderla. Sin embargo, si deseas verlo arrancar (y estoy seguro de que lo deseas), debes conectar el puerto serie de la placa WRAP a otra computadora usando un cable NULL modem DB9 (hembra)-a-DB9 (hembra) (también conocido como cable Laplink).
Estos aún se pueden comprar, aunque generalmente son un artículo de pedido especial. Una vez que hayas conectado el cable NULL modem en ambos extremos, ejecutas un programa emulador de terminal como (en Winblows) TuTTY (que es MUCHO mejor que Hyperterminal) o (en Linux) minicom. La configuración correcta es:

tasa de baudios: 38400 (o lo que sea que esté configurado el WRAP)  
bits de datos: 8  
paridad: ninguna  
bits de parada: 1  
control de flujo: XON/XOFF

¡Este es el momento que hemos estado esperando! En mi caso, arrancó de inmediato y me recompensó con un prompt de inicio de sesión:

Debian GNU/Linux testing/unstable wrap ttyS0  
  
wrap login:

La primera vez que inicies sesión no hay contraseña de root, así que deberías obtener un prompt de root simplemente escribiendo “root”.

Configuración (Post-arranque)

Haber arrancado el WRAP desde el Microdrive es solo el comienzo. Hay un montón de configuraciones que quedan por hacer.

Demonio de vigilancia

Hay un par de cosas a tener en cuenta aquí. Primero, si pones la línea wd1100 en /etc/modules, DEBES ejecutar el demonio de vigilancia, de lo contrario, el módulo wd1100 reiniciará tu sistema después de no más de 30 segundos. ¡Así que ten cuidado al activar el módulo del núcleo wd1100!

Si lo activas (usando los parámetros dados anteriormente), todo lo que tienes que hacer es “apt-get install watchdog” mientras el Microdrive aún esté en la máquina de instalación (antes de arrancar el WRAP) y no habrá problema. El demonio de vigilancia está configurado para escribir automáticamente en /dev/watchdog cada 10 segundos, mientras que el módulo wd1100 reinicia solo si /dev/watchdog NO ha sido escrito en 30 segundos o más. Así que estás a salvo. Puedes ajustar “interval” en /etc/watchdog.conf a 15 segundos si lo deseas.

Otra cosa a considerar es en qué punto durante el arranque se está iniciando el demonio de vigilancia. En mi sistema, es lo último en iniciarse. Eso significa que si cualquier otro elemento de inicio se retrasa o se agota, el módulo wd1100 estaría funcionando, pero el demonio de vigilancia no se iniciaría a tiempo para evitar que reinicie el sistema. Así que, en mi sistema, moví el inicio del demonio de vigilancia a un punto anterior en el proceso de arranque. Quería asegurarme de que se inicie antes de ntpdate, que es susceptible a retrasos porque se conecta a un servidor de Internet para obtener la hora actual.

Red

Configurar la red está más allá del alcance de este documento. El mínimo que necesitas es configurar una interfaz IP fija en /etc/network/interfaces y punteros a servidores de nombres en /etc/resolv.conf. También es bueno configurar /etc/hostname y /etc/hosts (si tienes otras máquinas de IP fija en tu red, puedes poner sus direcciones IP en /etc/hosts y mapear las direcciones a nombres legibles por humanos como “daisy” o “patty”).

Telnet/ssh

Si estás usando Hyperterminal para comunicarte con el WRAP, pronto anhelarás usar PuTTY en su lugar. Para que eso funcione, necesitas configurar telnet (advertencia de seguridad obligatoria: telnet no es seguro - las contraseñas no están encriptadas, teóricamente alguien podría capturar tu contraseña escuchando en el puerto telnet) o ssh. Necesitaba una solución rápida y sucia, así que hice telnet. Primero, agrega la siguiente línea a /etc/inetd.conf:

#:STANDARD: Estos son servicios estándar.  
telnet stream tcp nowait telnetd.telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd

Luego instala el paquete telnetd usando “apt-get install telnetd” y haz que el superservidor inetd se ejecute (“/etc/init.d/openbsd-inetd start” en Debian “sid”). Configurar ssh en sid es argumentablemente aún más fácil. Todo lo que tienes que hacer es:

apt-get install openssh-server

Ocupa 2 MB de espacio en disco, pero si hay incluso una remota posibilidad de que alguien desde afuera pueda conectarse al puerto telnet de tu máquina, entonces, bueno, te dejaré decidir cuál es mejor.

Antes de que puedas usar telnet o ssh, sin embargo, tienes que configurar una cuenta de usuario a través de “adduser”. También es una buena idea establecer una contraseña de root a través de “passwd”.

A partir de aquí, solo es cuestión de iniciar PuTTY y elegir telnet o SSH. Obviamente, tienes que poder ver el WRAP desde tu caja Winblows. Si tienes TCP/IP habilitado y el WRAP y la caja Winblows están en la misma subred (yo uso 192.168.0.0/24, el WRAP es 192.168.0.7 y la caja Winblows es 192.168.0.5 - todas estas son direcciones IP fijas, no se usa DHCP), entonces solo escribe la dirección IP del WRAP y debería funcionar.

exim4

Usa el comando “dpkg-reconfigure exim4-config” para configurarlo.

ntpdate

Dado que el WRAP no tiene batería, pierdes tu configuración de hora cada vez que reinicias. Para asegurarte de que el WRAP sepa qué hora es, y asumiendo que tienes una conexión a Internet “siempre activa”, puedes simplemente instalar el paquete ntpdate. Esto consultará automáticamente un servidor de tiempo y ajustará tu reloj del sistema al arrancar.

Cliente NFS

Desde el principio, tuve la necesidad de acceder a los archivos de mi caja Linux desde el WRAP. La caja Linux está ejecutando la versión 2 del servidor NFS del núcleo. Para que el WRAP acceda a ella, hice lo siguiente:

apt-get install portmap  
apt-get install nfs-common

En el lado del SERVIDOR, configuré un archivo /etc/exports así:

/home/livingston wrap(rw)

(wrap está configurado en /etc/hosts para apuntar a la caja WRAP)

En el WRAP, hice esto:

mount -o nfsvers=2,rw f216:/home/livingston /mnt

(f216 es el servidor). Para más información detallada, consulta el NFS-HOWTO.

Trucos Geniales de WRAP

Para averiguar la temperatura actual del sistema:

cat /sys/bus/i2c/devices/0-0048/temp1_input

(multiplica el resultado por 1000 para obtener grados Celsius). Aquí hay un pequeño script bash que proporcionará una salida más amigable (requiere “bc”, así que primero haz “apt-get install bc”):

#!/bin/sh  
t=`cat /sys/bus/i2c/devices/0-0048/temp1_input`  
t2=`echo scale=1",$t/1000|bc -l`  
echo "Temperatura del sistema: "$t2" grados Celsius"  
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.