Hardware · 22 min read · Jan 11, 2026

CONSTRUINDO UM SISTEMA WRAP DE PC ENGINES PARA USO GERAL

PALAVRAS-CHAVE: PC ENGINES WRAP PLACA WRAP PLATAFORMA LINUX DEBIAN SBC SOC LINUX NO WRAP SERVIDOR PEQUENO SILENCIOSO DE BAIXO CONSUMO

Autor: Nathan L. Cutler
Data: 18 de junho de 2006

Isenção de responsabilidade

Este documento é fornecido na esperança de que possa ser útil para alguém. No entanto, se você seguir os procedimentos descritos neste documento, o faz POR SUA CONTA E RISCO. O Autor não emite nenhuma garantia de que seguir as instruções aqui levará ao resultado desejado. O Autor não aceita responsabilidade por qualquer coisa que aconteça a qualquer pessoa que leia ou use este documento.

Contexto

Eu usei linux mais ou menos como usuário por mais de dez anos. Nos últimos anos, não fiz muito com isso. Em maio de 2006, meu amigo Chip Coldwell (http://frank.harvard.edu/~coldwell) me contou sobre um Computador de Placa Única (SBC) baseado em ARM que ele havia adquirido e estava transformando em uma secretária eletrônica. Ele estava fazendo coisas legais com isso, como habilitar transferências DMA no driver serial do kernel. Eu já tinha ouvido o termo “computação embarcada” antes, mas até então não percebia o que significava. Quando vi as fotos do SBC do Chip (baseado em um chip “System-on-a-Chip” (SoC) da Atmel (trocadilho intencional)) e li na internet sobre pessoas rodando Linux nesses pequenos computadores simplificados, fiquei cativado pela ideia de ter um sistema linux que consome menos de 10W de energia, sem ventiladores e discos giratórios. Eventualmente consegui fazer um sistema funcionar sem ventiladores giratórios, mas tive que ceder e adquirir um disco giratório para isso.

Passei cerca de uma semana analisando várias opções, mas basicamente se resumiu a três:

  • a plataforma WRAP da PC Engines, com sede na Suíça (http://www.pcengines.ch)
  • uma placa VIA EPIA (formato Mini-ITX) baseada no chip C3 Eden
  • ressuscitar uma antiga placa Pentium 90 (com um dissipador passivo), instalar um adaptador USB e rodá-la com um pen drive em vez de um disco rígido

Essas estão listadas na ordem em que as considerei. A princípio, eu estava empolgado com o WRAP, mas logo comecei a me preocupar que ele seria subdimensionado para minhas necessidades, já que sonhava em usá-lo para tocar MP3s e rodar X, e coisas assim, e o WRAP não tem capacidade de som ou VGA e nenhuma maneira de adicioná-las. Então, me interessei pela linha de placas EPIA da VIA, uma das quais tem um conversor DC-DC integrado e pode ser alimentada por um “adaptador de parede”. Novamente, após alguns dias de pesquisa, estava pronto para comprar componentes e montar um sistema. Mas então minha esposa sugeriu que talvez fosse melhor esperar antes de fazer um investimento assim e eu fiquei com medo e comecei a considerar a alternativa de custo ultra-baixo (a terceira na lista acima). Para isso, no entanto, eu teria que comprar um dos novos suprimentos de energia comutados sem ventilador e um adaptador USB, aumentando significativamente o custo, e eu sabia que tal sistema consumiria muito mais energia do que o WRAP ou o VIA EPIA.

Mais tarde percebi que cartões de memória de estado sólido e pen drives realmente não são apropriados para rodar um sistema de uso geral. Eles podem ser bons para roteadores e outras aplicações embarcadas que podem se dar ao luxo de um disco somente leitura + um pequeno ramdisk, mas para suas necessidades diárias de computação Linux, você realmente precisa ter um disco rígido giratório. Felizmente, agora existem Microdrives acessíveis que se conectam diretamente ao slot CF do WRAP, que aceita tanto cartões CF Tipo I quanto Tipo II.

Eu Decido Me Aprofundar

Eventualmente decidi pelo WRAP, pelas seguintes razões:

  • Menor consumo de energia das 3 opções, de longe
  • Miniaturização extrema - faz parecer mais legal
  • Apoiar pequenas empresas - a placa é projetada por um cara na Suíça, não por uma corporação
  • Pode ser modificada para suportar USB, então posso conectar impressoras e o modem CDMA a ela.
  • Tem mais memória (128MB) do que a antiga placa Pentium 90, para a qual seria difícil encontrar módulos de memória
  • Eu poderia viver sem as capacidades de áudio e vídeo, já que sempre posso fazer coisas de A/V na minha caixa linux regular

Então comprei a placa WRAP. Como quero e preciso que meu sistema tenha capacidade USB, fiquei agradavelmente surpreso ao saber que eles tinham um adaptador USB duplo disponível, então também comprei isso. Mais sobre como adicionar a opção USB depois. Também comprei um adaptador Compact Flash-IDE, que (supostamente) permite que você conecte um cartão CF a uma interface IDE regular e faça com que pareça um disco rígido.

Depois que cheguei em casa, percebi que dois componentes críticos ainda estavam faltando: (1) um cartão CF para o sistema de arquivos raiz, e (2) um cabo NULL Modem, sem o qual eu não conseguiria ver as mensagens de inicialização. Para a energia, decidi usar um adaptador de energia AC/DC “Universal” que eu tinha guardado. Peguei-o, encontrei um conector que se encaixava na placa e testei a saída usando meu multímetro. Estava exatamente em 12V, e estou assumindo que os 6VA que ele produz serão suficientes para alimentar a placa WRAP.

O cabo NULL Modem que você precisa tem conectores fêmeas de 9 pinos em ambas as extremidades. Como a placa WRAP não tem capacidade VGA, a única maneira de acessar a configuração do BIOS e ver as mensagens de inicialização é através da porta serial (daí o cabo NULL Modem), usando um emulador de terminal em um segundo computador.

Cartão CF ou Microdrive?

A princípio, eu tinha a noção equivocada de que teria o sistema de arquivos raiz em um cartão CF de 512MB e o resto dos meus dados em um pen drive de 1GB conectado via USB 1.1 (o WRAP não suporta USB 2.0). Felizmente, não comprei o pen drive, embora tenha comprado o cartão CF - ainda assim, foi barato (menos de 400 CZK) e posso manter uma instalação do Voyage Linux nele se algum dia decidir usar o WRAP como um roteador dedicado.

Depois de tentar instalar um sistema Debian no cartão CF e ficar preso ao tentar fazê-lo funcionar somente leitura com apenas certos arquivos e diretórios críticos em um sistema de arquivos tmpfs (disco RAM), desisti e instalei o Voyage Linux 0.2. Isso foi relativamente indolor, e foi bom ver minha pequena placa WRAP inicializar e me dar um prompt linux, mas gradualmente percebi que realmente preciso ter um disco rígido, porque quero usar o sistema no dia a dia e preciso que o sistema de arquivos raiz seja gravável o tempo todo. Após algumas pesquisas, cheguei a três opções diferentes para adicionar um HDD ao WRAP:

  • Construir meu próprio adaptador CF-para-IDE (ou seja, um que me permita conectar um disco IDE ao slot CF na placa WRAP)
  • Comprar um NASD (Dispositivo de Armazenamento Conectado à Rede), regravar o firmware para fazê-lo rodar Linux, exportar compartilhamentos NFS para o WRAP
  • Comprar um Microdrive e conectá-lo ao slot CF do WRAP

Escrevi-os na ordem em que me ocorreram. A primeira opção era a mais interessante para mim, já que pensei que tinha três ou quatro discos de 3,5” jogados por aí, poderia usar um deles. No entanto, incrível como possa parecer, não existe um adaptador prontamente disponível que transforme um slot CF em uma porta IDE, mesmo que o slot CF opere em modo “True IDE”. Parte do problema é a voltagem - a placa WRAP só fornece 3,3V ao CF, enquanto um disco IDE precisa de 5V. Isso torna mais uma proposta do tipo “hack de hardware”, envolvendo soldar 44 fios. Seria difícil com o conector IDE padrão, mas com o conector CF, que é muito menor, seria praticamente impossível.

Até ontem, eu não tinha ideia de que existia algo chamado NAS. Descobri sobre eles porque pensei que talvez existisse um adaptador para conectar um disco IDE a uma porta Ethernet RJ45. Pensei que, como tenho uma interface LAN extra que não estou usando, poderia conectar o HDD a ela. Com certeza encontrei um monte de caixinhas que têm discos rígidos dentro - você apenas os conecta à sua LAN e pronto. O problema é que essas caixas são significativamente mais caras do que um HDD de 3,5” porque dentro delas contêm SBCs (Computadores de Placa Única). Mas, eu disse a mim mesmo, um SBC é o que estou tentando construir aqui - não faz muito sentido ter dois deles. Ainda assim, fiquei tentado a comprar um Linksys LSLU2 Network Storage Link, porque descobri que há uma comunidade ativa de entusiastas trabalhando em hackeá-lo. Eles até têm várias versões diferentes de novos firmwares para ele, então você pode regravar completamente o firmware e transformá-lo em uma caixa Linux. Essa solução parecia interessante, mas tive que admitir que era um desvio.

A partir da minha correspondência com Pascal Dornier, o designer da placa WRAP, aprendi que você pode simplesmente conectar um Microdrive ao WRAP, e que ele funcionará. Eu não tinha considerado essa possibilidade, porque (1) eu só tinha uma noção vaga do que é um “Microdrive”, e (2) pensei que exigiria muita energia para a fonte de alimentação da placa WRAP e (3) pensei que o WRAP só aceitava cartões CF Tipo I. Acontece que o Microdrive é uma solução ideal - Pascal foi categórico que funcionaria, então fui e comprei um. Com esse obstáculo superado, o caminho para transformar minha pequena placa WRAP em uma caixa Linux de uso geral estava aberto.

De acordo com as especificações técnicas, o Microdrive IBM/Hitachi de 4GB consome 395mA a 3.3V para gravação, o que equivale a 1.3 watts.

Configurando o Sistema de Arquivos Raiz

Como tive tempo durante o fim de semana, pesquisei na internet e encontrei um HOWTO (na verdade, uma entrada de blog) de Jan Willem (http://www.lextreme.nl) para instalar um sistema Debian regular na placa WRAP. Isso me atraiu, pois as alternativas, como o Voyage Linux, embora suportem explicitamente o WRAP, são voltadas para aplicações de roteamento sem fio e para rodar o sistema de arquivos raiz a partir de um cartão CF. Eu estava procurando uma solução mais de uso geral, e simplesmente o Debian parecia ideal. A instalação é direta. Você precisa de um adaptador CF-para-IDE para permitir que o Microdrive seja conectado a um computador que já está rodando Linux e tem uma conexão com a Internet ou um CD de instalação do Debian. Essencialmente, se resume aos seguintes passos básicos, que são apenas uma versão ligeiramente modificada do procedimento de Jan Willem:

  • Usando fdisk, crie duas partições no Microdrive, swap e root
  • Formate o Microdrive usando mkfs.ext3 (usarei um sistema de arquivos com journaling) e mkswap
  • Monte o Microdrive, digamos, sob /mnt
  • Usando debootstrap, baixe e instale um sistema Debian mínimo em /mnt
  • Instale o kernel 2.6.15 do Voyage Linux 0.2, configure os módulos
  • execute lilo -r /mnt para instalar o carregador de inicialização lilo
  • Mova o Microdrive para o WRAP
  • Inicialize o WRAP

Esta é apenas uma lista generalizada dos passos. Os detalhes seguem.

fdisk

Depois de conectar meu cartão CF-para-IDE na porta IDE1 da minha caixa Linux, inserir o Microdrive no slot CF e ligar a caixa Linux, dmesg vê o 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

Então eu executo “fdisk /dev/hdc” como root. O Microdrive vem pré-formatado com um sistema de arquivos 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

Assim, o primeiro passo é eliminar aquele bebê e criar uma partição swap e uma partição raiz em seu 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 você pode ver, coloquei a partição swap no início do disco. Eu provavelmente poderia me dar ao luxo de não ter swap, mas e daí? 128MB é apenas cerca de 3% do disco. Com um sistema de disco único, a partição swap “deveria” estar no centro do disco, mas tendo feito isso antes, eu prefiro ter todos os meus dados em um único sistema de arquivos do que espalhá-los por dois.

Inicializar as Partições e Montar

De qualquer forma, os próximos comandos são para inicializar as novas partições:

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

Esses dois foram sem problemas, então montei /dev/hdc2 como /mnt:

mount -t ext3 /dev/hdc2 /mnt

Instalar Sistema Debian Mínimo Usando debootstrap

Então me ocorreu que ou (1) o suporte a ext3 precisa ser compilado no kernel, ou (2) eu tenho que usar initramfs para carregar o módulo ext3 na inicialização. Isso pode representar um problema com o kernel do Voyage Linux, que é do tipo monolítico, se não tiver ext3 compilado. Mas uma rápida olhada em “voyage-0.2/boot/config-2.6.15-486-voyage” me acalmou. ext3 está lá. Posso continuar.

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

Eu queria instalar “sid”, que é mais novo, mas falhou no ponto em que tentou baixar a passagem “base-config”. Por algum motivo, a lista de pacotes sid inclui “base-config”, mas o repositório sid não contém esse pacote. Mais tarde, no entanto, aprendi que para instalar sid em um sistema sarge como o meu, eu tenho que atualizar para a versão sid do debootstrap, o que realmente faz muito sentido. Depois de fazer isso, funcionou, sem erro algum.

O que vem a seguir?

Na minha tentativa anterior de fazer o Debian funcionar no WRAP (usando um cartão CF), eu imediatamente fiz chroot em /mnt neste ponto e tentei configurar o sistema enquanto o cartão CF ainda estava na minha máquina de instalação. Isso não funcionou muito bem, especialmente quando se tratou de executar “base-config”. O problema eram os locais - na jaula chroot, o base-config não via nenhum suporte a locais, mas podia ver minhas variáveis de ambiente de locais. Então, ele gerou muitos avisos. Querendo evitar isso, vou dispensar a configuração inicial e seguir direto para a instalação do kernel e execução do lilo.

Instalando o Kernel Voyage Linux 2.6.15

Após uma tentativa fraca de compilar um pacote de kernel para o WRAP, desisti e baixei o Voyage Linux 0.2, que inclui um kernel pré-compilado que foi patchado para funcionar bem com o WRAP. Uma característica legal desse kernel (além do suporte ext3 compilado, como mencionado acima) é que ele tem literalmente tudo incluído como módulos. Assim, você não precisa recompilar - se precisar ativar um recurso do kernel, basta adicionar o nome do módulo a /etc/modules.

Primeiro, descompactei o tarball voyage-0.2 e comecei a fuçar nele. Executei os seguintes comandos para transferir o kernel Voyage para o meu sistema de arquivos raiz CF:

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

Configuração Básica (Pré-inicialização)

Módulos do Kernel

O primeiro arquivo de configuração que abordei foi /etc/modules. Aqui está o /etc/modules criado pelo script de configuração da distribuição Voyage Linux para a placa WRAP, menos os drivers WLAN, que não são cobertos por este documento:

# Interfaces LAN  
natsemi   
# temporizador watchdog incluído no processador Geode `SC1100`  
# Descomente a linha a seguir se você estiver executando o daemon watchdog  
# wd1100 sysctl_wd_graceful=0 sysctl_wd_timeout=30   
# monitor de temperatura de hardware  
lm77  
# National Semiconductor SCx200 ACCESS.bus (necessário para leitura de temperatura)  
scx200_acb base=0x820,0   

Outra coisa que me ocorreu fazer é “depmod”, mas então percebi que o arquivo modules.dep já está lá em /mnt/lib/modules/2.6.15-486-voyage, então não há necessidade.

/etc/inittab

O próximo arquivo de configuração a editar é /etc/inittab. ISTO É CRUCIAL, CASO CONTRÁRIO VOCÊ NÃO OBTERÁ UM CONSOLE SERIAL. Por razões óbvias, a instalação padrão do Debian assume que você terá um teclado e VGA como seu console linux. Mas o WRAP precisa de um console serial. Isso significa que editamos /etc/inittab para nos livrarmos dos consoles virtuais e habilitar um console serial. Isso é muito simples, mas você deve ter cuidado com a taxa de transmissão - se não corresponder ao que o BIOS do WRAP está esperando, você não verá nada no emulador de terminal na inicialização. Para descobrir qual é a configuração do WRAP, pressione a tecla “s” enquanto o WRAP está fazendo seu teste inicial de memória. Isso o levará ao menu do BIOS, onde você pode definir 9600, 38400 ou até uma taxa de transmissão mais alta. Eu optei por 38400. Aqui está o arquivo completo /etc/inittab:

# /etc/inittab: configuração init(8).  
# $Id: index.html,v 1.2 2006/06/19 08:52:38 livingston Exp $  
  
# O nível de execução padrão.  
id:2:initdefault:  
  
# Script de configuração/inicialização do sistema na inicialização.  
# Este é executado primeiro, exceto ao inicializar em modo de emergência (-b).  
si::sysinit:/etc/init.d/rcS  
  
# O que fazer em modo de usuário único.  
~~:S:wait:/sbin/sulogin  
  
# /etc/init.d executa os scripts S e K ao mudar  
# de nível de execução.  
#  
# Nível de execução 0 é parar.  
# Nível de execução 1 é usuário único.  
# Níveis de execução 2-5 são multiusuário.  
# Nível de execução 6 é 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 não alcançado, mas passa em caso de emergência.  
z6:6:respawn:/sbin/sulogin  
  
# O que fazer quando a energia falha/retorna.  
pf::powerwait:/etc/init.d/powerfail start  
pn::powerfailnow:/etc/init.d/powerfail now  
po::powerokwait:/etc/init.d/powerfail stop  
  
# Console serial para WRAP  
T0:23:respawn:/sbin/getty -L ttyS0 38400 vt100

A última linha executa getty na porta serial, permitindo que você faça login como root.

/etc/fstab

Aqui vamos com a estratégia KISS (Mantenha Simples, Estúpido). Como temos um Microdrive, podemos dispensar a noção de minimizar o número de gravações no sistema de arquivos raiz.

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

/etc/apt/sources.list

Este arquivo é usado pelo “apt-get” para encontrar repositórios de pacotes deb. Precisamos apenas de uma entrada neste momento:

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

Uma vez que temos este arquivo criado na árvore /mnt, fazemos chroot e instalamos pacotes adicionais. Alguns, como “less”, são conveniências, mas outros, como “lilo”, são críticos e você não conseguirá inicializar o WRAP sem eles.

chroot /mnt /bin/bash  
mount /proc  
apt-get update  
apt-get install watchdog # vai com o módulo wd1100  
apt-get install less  
apt-get install lilo # CRÍTICO! ISTO É OBRIGATÓRIO!  
apt-get install udev # CRÍTICO! ISTO É OBRIGATÓRIO!  
apt-get install [seu pacote favorito do qual você não pode viver sem]

Observe que, até onde sei, o grub não funcionará com o WRAP e você deve usar o LILO. Estou apenas repetindo o que li em outros lugares, embora não esteja falando por experiência.

/etc/lilo.conf

O próximo passo é instalar o lilo (eu realmente cheguei tão longe?!). Aqui está como fiz. Depois de hackear e ler o manual, cheguei a isso para o arquivo de configuração:

boot = /dev/hdc # Microdrive aparece como /dev/hdc no meu sistema  
disk = /dev/hdc # Microdrive  
bios = 0x80 # O BIOS do WRAP verá isso como Primário Mestre  
#compact  
lba32 # defina LBA na configuração do BIOS do WRAP - mas eu tentei com CHS e também funciona  
install=text  
map=/boot/map  
vga=normal  
delay=1  
timeout=50  
prompt  
serial=0,38400n8 # Sem como definir duplex, então eu tenho duplicação de cada caractere na inicialização. Suspiro.  
default=Linux  
  
image=/vmlinuz  
# initrd=/initrd.img # O Voyage Linux não usa initramfs (Graças a Deus!)  
root=/dev/hda2 # É assim que o Microdrive aparecerá no WRAP  
label=Linux  
append="console=ttyS0,38400n8 reboot=bios"  
read-only  
# restricted  
# alias=1

Se você estiver usando “sid”, há um problema: o chroot em “sid” funciona de forma diferente do que em sarge. No ambiente chroot, não há “/dev/hda” ou “/dev/hdc”. Quando você executa “df”, você obtém isso:

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

Que é o Microdrive, mas não como “/dev/hdc”. Espiando no diretório /dev, vejo que há apenas um conjunto mínimo de arquivos de dispositivo que não inclui /dev/hdc. Portanto, “lilo -t” produz um erro de que não consegue encontrar /dev/hdc. Além disso, o symlink “vmlinuz” no diretório raiz precisa ser criado. A solução alternativa que encontrei para isso é a seguinte, assumindo que já estamos chrooted em /mnt:

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

No meu sistema, isso foi suficiente para passar pelo lilo -t sem erros.
Em seguida, fiz:

lilo -v # foi sem erros  
umount /proc # não sei se isso é necessário  
exit # sair do chroot  
umount /dev/hdc2 # desmontar o Microdrive  
shutdown -h now

O Momento da Verdade

Tudo o que resta é colocar o Microdrive na placa WRAP e ligá-la. No entanto, se você quiser assistir à inicialização (e tenho certeza de que você quer), deve conectar a porta serial da placa WRAP a outro computador usando um cabo NULL modem DB9(fêmea)-para-DB9(fêmea) (também conhecido como cabo Laplink).
Esses ainda podem ser comprados, embora geralmente sejam um item de pedido especial. Uma vez que você tenha conectado o cabo NULL modem em ambas as extremidades, execute um programa de emulador de terminal, como (no Winblows) TuTTY (que é MUITO melhor que o Hyperterminal) ou (no Linux) minicom. As configurações corretas são:

taxa de transmissão: 38400 (ou o que quer que a placa WRAP esteja configurada)  
bits de dados: 8  
paridade: nenhuma  
bits de parada: 1  
controle de fluxo: XON/XOFF

Este é o momento que estávamos esperando! No meu caso, ele inicializou imediatamente e me recompensou com um prompt de login:

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

Na primeira vez que você faz login, não há senha root, então você deve obter um prompt de root apenas digitando “root”.

Configuração (Pós-inicialização)

Ter inicializado o WRAP a partir do Microdrive é apenas o começo. Há muitas configurações restantes a serem feitas.

Daemon Watchdog

Há algumas coisas a ter em mente aqui. Primeiro, se você colocar a linha wd1100 em /etc/modules, você DEVE executar o daemon watchdog, caso contrário, o módulo wd1100 reiniciará seu sistema após no máximo 30 segundos! Portanto, tenha cuidado ao ativar o módulo do kernel wd1100.

Se você ativá-lo (usando os parâmetros dados acima), tudo o que você precisa fazer é “apt-get install watchdog” enquanto o Microdrive ainda estiver na máquina de instalação (antes de inicializar o WRAP) e não haverá problema. O daemon watchdog é configurado para escrever automaticamente em /dev/watchdog a cada 10 segundos, enquanto o módulo wd1100 reinicia apenas se /dev/watchdog NÃO tiver sido escrito em 30 segundos ou mais. Portanto, você está seguro. Você pode ajustar “interval” em /etc/watchdog.conf para 15 segundos, se desejar.

Outra coisa a se observar é em que ponto durante a inicialização o daemon watchdog está sendo iniciado. No meu sistema, é a última coisa a iniciar. Isso significa que se qualquer outro item de inicialização estiver atrasado ou expirar, o módulo wd1100 estaria em execução, mas o daemon watchdog não seria iniciado a tempo para impedir que ele reiniciasse o sistema. Portanto, no meu sistema, movi a inicialização do watchdog para um ponto anterior no processo de inicialização. Eu queria ter certeza de que ele fosse iniciado antes do ntpdate, que é suscetível a atrasos porque se conecta a um servidor da Internet para obter a hora atual.

Rede

Configurar a rede está além do escopo deste documento. O mínimo que você precisa é configurar uma interface IP fixa em /etc/network/interfaces e ponteiros para servidores de nomes em /etc/resolv.conf. Também é bom configurar /etc/hostname e /etc/hosts (se você tiver outras máquinas de IP fixo na sua rede, pode colocar seus endereços IP em /etc/hosts e mapear os endereços para nomes legíveis por humanos, como “daisy” ou “patty”).

Telnet/ssh

Se você estiver usando o Hyperterminal para se comunicar com o WRAP, logo estará desejando usar o PuTTY em vez disso. Para que isso funcione, você precisa configurar telnet (aviso de segurança obrigatório: telnet não é seguro - senhas não são criptografadas, teoricamente alguém poderia capturar sua senha ouvindo a porta telnet) ou ssh. Eu precisava de uma solução rápida e suja, então fiz telnet. Primeiro, adicione a seguinte linha a /etc/inetd.conf:

#:PADRÃO: Estes são serviços padrão.  
telnet stream tcp nowait telnetd.telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd

Então instale o pacote telnetd usando “apt-get install telnetd” e faça o superservidor inetd funcionar (“/etc/init.d/openbsd-inetd start” no Debian “sid”). Configurar ssh no sid é, sem dúvida, ainda mais fácil. Tudo o que você precisa fazer é:

apt-get install openssh-server

Isso ocupa 2 MB de espaço em disco, mas se houver até mesmo uma remota chance de que alguém de fora possa se conectar à porta telnet da sua máquina, então, bem, deixarei você decidir qual é melhor.

Antes de poder usar telnet ou ssh, no entanto, você precisa configurar uma conta de usuário via “adduser”. Também é uma boa ideia definir uma senha root via “passwd”.

A partir daqui, é apenas uma questão de iniciar o PuTTY e escolher telnet ou SSH. Obviamente, você precisa ser capaz de ver o WRAP a partir da sua caixa Winblows. Se você tiver TCP/IP habilitado e o WRAP e a caixa Winblows estiverem na mesma sub-rede (eu uso 192.168.0.0/24, o WRAP é 192.168.0.7 e a caixa Winblows é 192.168.0.5 - todos esses são endereços IP fixos, DHCP não é usado), então basta digitar o endereço IP do WRAP e deve funcionar.

exim4

Use o comando “dpkg-reconfigure exim4-config” para configurá-lo.

ntpdate

Como o WRAP não tem bateria, você perde sua configuração de hora toda vez que reinicia. Para garantir que o WRAP saiba que horas são, e assumindo que você tem uma conexão com a Internet “sempre ligada”, você pode simplesmente instalar o pacote ntpdate. Isso consultará automaticamente um servidor de horário e ajustará seu relógio do sistema na inicialização.

Cliente NFS

No início, eu precisei acessar os arquivos da minha caixa linux a partir do WRAP. A caixa linux está rodando a versão 2 do servidor NFS kernel. Para fazer o WRAP acessá-la, fiz o seguinte:

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

No lado do SERVIDOR, configurei um arquivo /etc/exports assim:

/home/livingston wrap(rw)

(wrap está configurado em /etc/hosts para apontar para a caixa WRAP)
No WRAP, fiz isso:

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

(f216 é o servidor.) Para mais informações detalhadas, consulte o NFS-HOWTO.

Truques Legais do WRAP

Para descobrir a temperatura atual do sistema:

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

(multiplique o resultado por 1000 para obter graus Celsius). Aqui está um pequeno script bash que fornecerá uma saída mais amigável ao usuário (requer “bc”, então faça “apt-get install bc” primeiro):

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

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.