Компьютеры · 20 min read · Jan 11, 2026

СИСТЕМА WRAP ДЛЯ ОБЩЕГО ПРИМЕНЕНИЯ

КЛЮЧЕВЫЕ СЛОВА: PC ENGINES WRAP WRAP BOARD WRAP PLATFORM LINUX DEBIAN SBC SOC LINUX ON WRAP LOW-POWER SMALL SILENT SERVER

Автор: Натан Л. Катлер
Дата: 18 июня 2006 года

Отказ от ответственности

Этот документ предоставляется в надежде, что он может оказаться полезным для кого-то. Однако, если вы следуете процедурам, описанным в этом документе, вы делаете это НА СВОЙ СТРАХ И РИСК. Автор не дает никаких гарантий, что следование инструкциям приведет к желаемому результату. Автор не несет ответственности за все, что происходит с кем-либо, кто читает или иным образом использует этот документ.

Предыстория

Я использую Linux более десяти лет. В последние несколько лет я не делал с ним много. В мае 2006 года мой друг Чип Колдуэлл (http://frank.harvard.edu/~coldwell) рассказал мне об одноплатном компьютере (SBC) на базе ARM, который он приобрел и превращал в автоответчик. Он делал интересные вещи, такие как включение DMA-передач в последовательном драйвере ядра. Я слышал термин “встраиваемые вычисления” раньше, но до этого момента не понимал, что это значит. Когда я увидел фотографии SBC Чипа (основанный на чипе Atmel “Система на кристалле” (SoC) (игра слов)) и прочитал в интернете о людях, запускающих Linux на этих крошечных, упрощенных компьютерах, я был очарован идеей иметь систему Linux, которая потребляет менее 10 Вт энергии, без вращающихся вентиляторов и дисков. В конце концов, мне удалось запустить систему без вращающихся вентиляторов, но мне пришлось согласиться и приобрести вращающийся диск для нее.

Я потратил около недели, рассматривая различные варианты, но в конечном итоге все свелось к трем:

  • платформа WRAP от швейцарской компании PC Engines (http://www.pcengines.ch)
  • плата VIA EPIA (форм-фактор Mini-ITX), основанная на чипе C3 Eden
  • восстановление старой платы Pentium 90 (с пассивным радиатором), установка USB-адаптера и работа с флеш-накопителем вместо жесткого диска

Эти варианты перечислены в порядке, в котором я их рассматривал. Сначала я был настроен на WRAP, но вскоре начал беспокоиться, что он будет недостаточно мощным для моих нужд, так как я мечтал использовать его для воспроизведения MP3 и запуска X, и подобных вещей, а у WRAP нет звуковых или VGA возможностей и нет способа их добавить. Поэтому я заинтересовался линейкой плат EPIA от VIA, одна из которых имеет встроенный DC-DC преобразователь и может работать от “стенного адаптера”. Опять же, после нескольких дней исследований я был готов купить компоненты и собрать систему. Но затем моя жена предложила подождать, прежде чем делать такие инвестиции, и я передумал и начал рассматривать альтернативу с ультранизкой стоимостью (третья в списке выше). Однако для этого мне пришлось бы купить один из новых безвентиляторных источников питания и USB-адаптер, что добавило бы значительные расходы, и я знал, что такая система будет потреблять гораздо больше энергии, чем WRAP или VIA EPIA.

Позже я понял, что карты памяти и флеш-накопители на твердотельной основе действительно не подходят для работы с системой общего назначения. Они могут быть хороши для маршрутизаторов и других встроенных приложений, которые могут обойтись без диска только для чтения + небольшого ramdisk, но для ваших повседневных нужд в вычислениях на Linux вам действительно нужен вращающийся жесткий диск. К счастью, сейчас есть доступные Microdrives, которые подключаются прямо в слот CF WRAP, который принимает как карты CF типа I, так и типа II.

Я принимаю решение

В конечном итоге я решил выбрать WRAP по следующим причинам:

  • Наименьшее потребление энергии из трех вариантов, безусловно
  • Экстремальная миниатюризация - делает его более привлекательным
  • Поддержка малого бизнеса - плата разработана человеком в Швейцарии, а не корпорацией
  • Ее можно модифицировать для поддержки USB, так что я могу подключать принтеры и CDMA модем к ней.
  • У нее больше памяти (128 МБ), чем у старой платы Pentium 90, для которой было бы трудно найти модули памяти
  • Я мог бы обойтись без аудио и видео возможностей, так как всегда могу делать A/V вещи на своем обычном компьютере с Linux

Итак, я купил плату WRAP. Поскольку я хочу и мне нужна USB-совместимость, я был приятно удивлен, услышав, что у них есть двойной USB-адаптер для нее, так что я тоже его купил. Подробнее о добавлении USB-опции позже. Я также купил адаптер Compact Flash-IDE, который (по слухам) позволяет подключить карту CF к обычному интерфейсу IDE и заставить его выглядеть как жесткий диск.

После того как я вернулся домой, я понял, что два критически важных компонента все еще отсутствуют: (1) карта CF для корневой файловой системы и (2) кабель NULL Modem, без которого я не смог бы наблюдать за сообщениями загрузки. Для питания я решил использовать “Универсальный” адаптер переменного/постоянного тока, который у меня был на складе. Я достал его, нашел разъем, который подошел к плате, и протестировал выход с помощью мультиметра. Он оказался точно 12 В, и я предполагаю, что 6VA, который он выдает, будет достаточно для питания платы WRAP.

Кабель NULL Modem, который вам нужен, имеет 9-контактные разъемы на обоих концах. Поскольку плата WRAP не имеет VGA возможностей, единственный способ войти в настройки BIOS и наблюдать за сообщениями загрузки - это через последовательный порт (отсюда и кабель NULL Modem), используя терминальный эмулятор на втором компьютере.

Карта CF или Microdrive?

Сначала у меня было ошибочное представление о том, что у меня будет корневая файловая система на 512 МБ карте CF, а остальные данные на 1 ГБ флеш-накопителе, подключенном через USB 1.1 (WRAP не поддерживает USB 2.0). К счастью, я не купил флеш-накопитель, хотя я купил карту CF - все равно она была дешевой (менее 400 CZK), и я могу хранить установку Voyage Linux на ней, если когда-либо решу использовать WRAP как выделенный маршрутизатор.

После попытки установить систему Debian на карту CF и столкнувшись с проблемами, когда дело дошло до того, чтобы заставить ее работать только для чтения с определенными критически важными файлами и директориями на файловой системе tmpfs (RAM-диск), я сдался и установил Voyage Linux 0.2. Это было относительно безболезненно, и было приятно видеть, как моя маленькая плата WRAP загружается и дает мне командную строку Linux, но постепенно мне стало ясно, что мне действительно нужен жесткий диск, потому что я хочу использовать систему на повседневной основе и мне нужна корневая файловая система, которая всегда была бы доступна для записи. После некоторых исследований я пришел к трем различным вариантам добавления HDD к WRAP:

  • Собрать свой собственный адаптер CF-to-IDE (т.е. такой, который позволит мне подключить IDE-диск к слоту CF на плате WRAP)
  • Купить NASD (устройство хранения, подключенное к сети), перепрошить его, чтобы он работал под управлением Linux, экспортировать NFS-ресурсы на WRAP
  • Купить Microdrive и подключить его к слоту CF на WRAP

Я записал их в порядке, в котором они пришли мне в голову. Первый вариант был наиболее интересен для меня, так как я подумал, что у меня есть три или четыре 3.5” диска, которые валяются без дела, я мог бы использовать один из них. Однако, как бы это ни казалось невероятным, нет доступного адаптера, который превратит слот CF в порт IDE, хотя слот CF работает в режиме “True IDE”. Часть проблемы заключается в напряжении - плата WRAP подает только 3.3 В на CF, в то время как IDE-диск требует 5 В. Это делает его более сложным для аппаратного взлома, включая пайку 44 проводов. Это было бы сложно с обычным IDE-разъемом, но с разъемом CF, который намного меньше, это было бы практически невозможно.

На вчерашний день я не имел понятия о том, что такое NAS. Я узнал о них, потому что подумал, что, возможно, существует адаптер для подключения IDE-диска к порту Ethernet RJ45. Я подумал, что поскольку у меня есть дополнительный LAN-интерфейс, который я не использую, я мог бы подключить HDD к нему. И действительно, я нашел множество маленьких коробок, в которых есть жесткие диски - вы просто подключаете их к своей локальной сети и работаете. Дело в том, что эти коробки значительно дороже 3.5” HDD, потому что внутри них находятся SBC (одноплатные компьютеры). Но я сказал себе, что SBC - это то, что я пытаюсь построить здесь - не имеет смысла иметь два из них. Тем не менее, я был соблазнен купить Linksys LSLU2 Network Storage Link, потому что я обнаружил, что существует активное сообщество энтузиастов, работающих над его взломом. У них даже есть несколько различных версий новой прошивки для него, так что вы можете полностью перепрошить его и превратить в Linux-бокс. Это решение казалось интересным, но я должен был признать, что это было отклонение.

Из моей переписки с Паскалем Дорнье, дизайнером платы WRAP, я узнал, что вы можете просто подключить Microdrive к WRAP, и он будет работать. Я не рассматривал эту возможность, потому что (1) у меня было лишь смутное представление о том, что такое “Microdrive”, и (2) я думал, что это потребует слишком много энергии для блока питания платы WRAP и (3) я думал, что WRAP принимает только карты CF типа I. Оказалось, что Microdrive - это идеальное решение - Паскаль был настойчив, что это будет работать, так что я вышел и купил один. Преодолев это препятствие, путь к превращению моей маленькой платы WRAP в универсальный Linux-бокс был открыт.

Согласно техническим характеристикам, IBM/Hitachi 4GB Microdrive потребляет 395 мА при 3.3 В для записи, что составляет 1.3 ватта.

Настройка корневой файловой системы

Поскольку у меня было время на выходных, я покопался в интернете и нашел HOWTO (на самом деле запись в блоге) Яна Виллема (http://www.lextreme.nl) для установки обычной системы Debian на плате WRAP. Это меня заинтересовало, так как альтернативы, такие как Voyage Linux, хотя и явно поддерживают WRAP, предназначены для приложений беспроводной маршрутизации и запуска корневой файловой системы с карты CF. Я искал более универсальное решение, и просто Debian казался идеальным. Установка проста. Вам нужен адаптер CF-to-IDE, чтобы подключить Microdrive к компьютеру, который уже работает под управлением Linux и имеет интернет-соединение или CD-диск установки Debian. В основном, это сводится к следующим основным шагам, которые являются лишь слегка измененной версией процедуры Яна Виллема:

  • Используя fdisk, создайте два раздела на Microdrive, swap и root
  • Отформатируйте Microdrive с помощью mkfs.ext3 (я буду использовать файловую систему с журналированием) и mkswap
  • Смонтируйте Microdrive, скажем, под /mnt
  • Используя debootstrap, загрузите и установите минимальную систему Debian в /mnt
  • Установите ядро 2.6.15 из Voyage Linux 0.2, настройте модули
  • выполните lilo -r /mnt для установки загрузчика lilo
  • Переместите Microdisk на WRAP
  • Загрузите WRAP

Это просто обобщенный список шагов. Подробности следуют.

fdisk

После подключения моего адаптера CF-to-IDE к порту IDE1 моего компьютера с Linux, вставив Microdrive в слот CF и включив компьютер с Linux, dmesg видит Microdrive как /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

Итак, я запускаю “fdisk /dev/hdc” от имени root. Microdrive поставляется с предустановленной файловой системой FAT32.

Диск /dev/hdc: 4095 MB, 4095737856 bytes
128 heads, 63 sectors/track, 992 cylinders
Units = cylinders of 8064 * 512 = 4128768 bytes
   Устройство Загрузка      Начало         Конец      Блоки   Id  Система
/dev/hdc1   *           1         992     3999712+   b  W95 FAT32

Таким образом, первый шаг - уничтожить этот диск и создать раздел подкачки и корневой раздел на его месте.

Диск /dev/hdc: 4095 MB, 4095737856 bytes
128 heads, 63 sectors/track, 992 cylinders
Units = cylinders of 8064 * 512 = 4128768 bytes
   Устройство Загрузка      Начало         Конец      Блоки   Id  Система
/dev/hda1               1          32      128992+  82  Linux swap / Solaris
/dev/hda2              33         992     3870720   83  Linux

Как видите, я разместил раздел подкачки в начале диска. Я мог бы, вероятно, обойтись без подкачки, но что ж? 128 МБ - это всего лишь около 3% диска. В системе с одним диском раздел подкачки “должен” находиться в центре диска, но, имея опыт, я предпочел бы, чтобы все мои данные находились в одной файловой системе, чем распределять их по двум.

Инициализация разделов и монтирование

В любом случае, следующие команды предназначены для инициализации новых разделов:

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

Эти две команды прошли без проблем, поэтому я смонтировал /dev/hdc2 как /mnt:

mount -t ext3 /dev/hdc2 /mnt

Установка минимальной системы Debian с использованием debootstrap

Затем мне пришло в голову, что либо (1) поддержка ext3 должна быть скомпилирована в ядро, либо (2) мне нужно использовать initramfs для загрузки модуля ext3 во время загрузки. Это может вызвать проблему с ядром Voyage Linux, которое является монолитным, если в нем нет скомпилированной поддержки ext3. Но быстрый взгляд на “voyage-0.2/boot/config-2.6.15-486-voyage” успокоил меня. ext3 там. Я могу продолжать.

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

Я хотел установить “sid”, который новее, но он не сработал в тот момент, когда он пытался загрузить “base-config”. По какой-то причине список пакетов sid включает “base-config”, но репозиторий sid не содержит этого пакета. Позже, однако, я узнал, что для установки sid на систему sarge, такую как моя, мне нужно обновиться до версии sid debootstrap, что на самом деле имеет смысл. После этого все сработало, без единой ошибки.

Что дальше?

В моей предыдущей попытке запустить Debian на WRAP (используя карту CF) я сразу же chroot’ился в /mnt в этот момент и пытался настроить систему, пока карта CF все еще была в моем установочном компьютере. Это не сработало слишком хорошо, особенно когда дело дошло до запуска “base-config”. Проблема заключалась в локалях - в chroot тюрьме base-config не видела никакой поддержки локалей, но могла видеть мои переменные окружения локалей. Поэтому она выдавала много предупреждений. Желая избежать этого, я пропущу начальную настройку и сразу перейду к установке ядра и запуску lilo.

Установка ядра Voyage Linux 2.6.15

После неудачной попытки скомпилировать пакет ядра для WRAP я сдался и загрузил Voyage Linux 0.2, который включает предкомпилированное ядро, которое было исправлено для хорошей работы с WRAP. Одной из приятных особенностей этого ядра (в дополнение к поддержке ext3, как упоминалось выше) является то, что в него буквально включено все в качестве модулей. Так что вам не нужно перекомпилировать - если вам нужно активировать функцию ядра, вы просто добавляете имя модуля в /etc/modules.

Сначала я распаковал архив voyage-0.2 и начал исследовать его. Я выполнил следующие команды, чтобы перенести ядро Voyage на мою файловую систему корня CF:

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

Основная настройка (предварительная загрузка)

Модули ядра

Первым конфигурационным файлом, который я взялся редактировать, был /etc/modules. Вот /etc/modules, созданный скриптом установки дистрибутива Voyage Linux для платы WRAP, за исключением драйверов WLAN, которые не охватываются этим документом:

# LAN interfaces  
natsemi   
# watchdog timer included in Geode `SC1100` processor  
# Уберите комментарий с следующей строки, если вы запускаете демон watchdog  
# wd1100 sysctl_wd_graceful=0 sysctl_wd_timeout=30   
# thermal monitor hardware  
lm77  
# National Semiconductor SCx200 ACCESS.bus (needed for temperature reading)  
scx200_acb base=0x820,0   

Еще одна вещь, которую мне пришло в голову сделать, это “depmod”, но затем я понял, что файл modules.dep уже существует в /mnt/lib/modules/2.6.15-486-voyage, так что в этом нет необходимости.

/etc/inittab

Следующий конфигурационный файл для редактирования - это /etc/inittab. ЭТО КРИТИЧЕСКИ ВАЖНО, ИНАЧЕ ВЫ НЕ УВИДИТЕ СЕРИЙНЫЙ КОНСОЛЬ. По очевидным причинам стандартная установка Debian предполагает, что у вас будет клавиатура и VGA в качестве вашего консоли Linux. Но WRAP нуждается в серийном консоли. Это означает, что мы редактируем /etc/inittab, чтобы избавиться от виртуальных консолей и включить серийный консоль. Это очень просто, но вы должны быть осторожны с baud rate - если он не совпадает с тем, что ожидает BIOS WRAP, вы не увидите ничего в терминальном эмуляторе при загрузке. Чтобы узнать, на что настроен WRAP, нажмите клавишу “s”, пока WRAP выполняет свой начальный тест памяти. Это приведет вас в меню BIOS, где вы можете установить 9600, 38400 или даже более высокую скорость передачи. Я выбрал 38400. Вот полный файл /etc/inittab:

# /etc/inittab: init(8) configuration.  
# $Id: index.html,v 1.2 2006/06/19 08:52:38 livingston Exp $  
  
# Уровень запуска по умолчанию.  
id:2:initdefault:  
  
# Скрипт конфигурации/инициализации системы при загрузке.  
# Он выполняется первым, за исключением случаев, когда загрузка происходит в режиме экстренной (-b).  
si::sysinit:/etc/init.d/rcS  
  
# Что делать в однопользовательском режиме.  
~~:S:wait:/sbin/sulogin  
  
# /etc/init.d выполняет S и K скрипты при изменении  
# уровня запуска.  
#  
# Уровень запуска 0 - остановка.  
# Уровень запуска 1 - однопользовательский.  
# Уровни запуска 2-5 - многопользовательский.  
# Уровень запуска 6 - перезагрузка.  
  
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  
# Обычно не достигается, но переход в случае экстренной ситуации.  
z6:6:respawn:/sbin/sulogin  
  
# Что делать, когда питание отключается/возвращается.  
pf::powerwait:/etc/init.d/powerfail start  
pn::powerfailnow:/etc/init.d/powerfail now  
po::powerokwait:/etc/init.d/powerfail stop  
  
# Серийный консоль для WRAP  
T0:23:respawn:/sbin/getty -L ttyS0 38400 vt100

Последняя строка запускает getty на серийном порту, позволяя войти как root.

/etc/fstab

Вот мы и подошли к стратегии KISS (Сохраняйте это просто, глупо). Поскольку у нас есть Microdrive, мы можем обойтись без идеи минимизации количества записей в корневую файловую систему.

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

/etc/apt/sources.list

Этот файл используется “apt-get” для поиска репозиториев пакетов deb. Нам нужна только одна запись на данный момент:

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

Как только мы создадим этот файл в дереве /mnt, мы chroot’имся и установим дополнительные пакеты. Некоторые, такие как “less”, являются удобствами, но другие, такие как “lilo”, критически важны, и вы не сможете загрузить WRAP без них.

chroot /mnt /bin/bash  
mount /proc  
apt-get update  
apt-get install watchdog # идет с модулем wd1100  
apt-get install less  
apt-get install lilo # КРИТИЧЕСКИ ВАЖНО! ЭТО ОБЯЗАТЕЛЬНО!  
apt-get install udev # КРИТИЧЕСКИ ВАЖНО! ЭТО ОБЯЗАТЕЛЬНО!  
apt-get install [ваш любимый пакет, без которого вы не можете обойтись]

Обратите внимание, что, насколько я знаю, grub не будет работать с WRAP, и вам нужно использовать LILO. Я только повторяю то, что читал в другом месте, не основываясь на собственном опыте.

/etc/lilo.conf

Следующий шаг - установить lilo (действительно ли я дошел до этого?!). Вот как я это сделал. После долгих попыток и чтения документации я пришел к следующему для конфигурационного файла:

boot = /dev/hdc # Microdrive отображается как /dev/hdc на моей системе  
disk = /dev/hdc # Microdrive  
bios = 0x80 # BIOS WRAP увидит это как Primary Master  
#compact  
lba32 # установите LBA в настройках BIOS WRAP - но я пробовал это с CHS, и это тоже работает  
install=text  
map=/boot/map  
vga=normal  
delay=1  
timeout=50  
prompt  
serial=0,38400n8 # Нет способа установить дуплекс, так что я получаю удвоение каждого символа при загрузке. Увы.  
default=Linux  
  
image=/vmlinuz  
# initrd=/initrd.img # Voyage Linux не использует initramfs (Слава Богу!)  
root=/dev/hda2 # Вот как Microdrive будет отображаться на WRAP  
label=Linux  
append="console=ttyS0,38400n8 reboot=bios"  
read-only  
# restricted  
# alias=1

Если вы используете “sid”, есть небольшая проблема: chroot в “sid” работает иначе, чем в sarge. В chroot окружении нет ни “/dev/hda”, ни “/dev/hdc” вообще. Когда вы запускаете “df”, вы получаете следующее:

Файловая система 1K-блоков Использовано Доступно Использование% Смонтировано на  
sysfs 3809936 220184 3396216 7% /sys

Что является Microdrive, но не как “/dev/hdc”. Заглядывая в каталог /dev, я вижу, что там есть только минимальный набор файлов устройств, который не включает /dev/hdc. Поэтому “lilo -t” выдает ошибку, что он не может найти /dev/hdc. Также символическая ссылка “vmlinuz” в корневом каталоге должна быть создана. Обходной путь, который я придумал для этого, следующий, предполагая, что мы уже chroot’ились в /mnt:

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

На моей системе этого было достаточно, чтобы пройти через lilo -t без ошибок.

Затем я выполнил:

lilo -v # прошло без ошибок  
umount /proc # не знаю, нужно ли это  
exit # выйти из chroot  
umount /dev/hdc2 # размонтировать Microdrive  
shutdown -h now

Момент истины

Все, что осталось, это вставить Microdrive в плату WRAP и включить ее. Однако, если вы хотите наблюдать за загрузкой (и я уверен, что вы хотите), вам нужно подключить серийный порт платы WRAP к другому компьютеру с помощью кабеля NULL modem (также известного как кабель Laplink).
Эти кабели все еще можно купить, хотя они обычно являются специальным заказом. Как только вы подключите кабель NULL modem с обеих сторон, вы запускаете программу терминального эмулятора, такую как (на Winblows) TuTTY (которая намного лучше, чем Hyperterminal) или (под Linux) minicom. Правильные настройки:

скорость передачи: 38400 (или какая бы ни была настроена на плате WRAP)  
количество бит данных: 8  
четность: нет  
количество стоп-битов: 1  
управление потоком: XON/XOFF

Это тот момент, которого мы ждали! В моем случае он загрузился и наградил меня приглашением для входа:

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

В первый раз, когда вы входите, нет пароля root, поэтому вы должны получить приглашение root, просто набрав “root”.

Конфигурация (после загрузки)

Получив загрузку WRAP с Microdrive, это только начало. Осталось много конфигурации.

Демон watchdog

Есть несколько вещей, которые нужно иметь в виду. Во-первых, если вы добавите строку wd1100 в /etc/modules, вы ДОЛЖНЫ запустить демон watchdog, иначе модуль wd1100 перезагрузит вашу систему не позднее чем через 30 секунд! Так что будьте осторожны с активацией модуля ядра wd1100.

Если вы активируете его (используя указанные выше параметры), все, что вам нужно сделать, это “apt-get install watchdog”, пока Microdrive все еще находится в установочном компьютере (прежде чем вы загрузите WRAP), и проблем не будет. Демон watchdog настроен на автоматическую запись в /dev/watchdog каждые 10 секунд, в то время как модуль wd1100 перезагрузит только в том случае, если в /dev/watchdog не было записей в течение 30 секунд или более. Так что вы в безопасности. Вы можете настроить “интервал” в /etc/watchdog.conf на 15 секунд, если хотите.

Еще одна вещь, на которую стоит обратить внимание, это то, на каком этапе загрузки запускается демон watchdog. На моей системе это последнее, что запускается. Это означает, что если какой-либо другой элемент загрузки задерживается или истекает, модуль wd1100 будет работать, но демон watchdog не успеет запуститься вовремя, чтобы предотвратить перезагрузку системы. Поэтому на моей системе я переместил запуск watchdog на более ранний этап процесса загрузки. Я хотел убедиться, что он запускается до ntpdate, который подвержен задержкам, потому что подключается к интернет-серверу, чтобы получить текущее время.

Сеть

Настройка сети выходит за рамки этого документа. Минимум, который вам нужно сделать, это настроить фиксированный IP-интерфейс в /etc/network/interfaces и указатели на серверы имен в /etc/resolv.conf. Также хорошо настроить /etc/hostname и /etc/hosts (если у вас есть другие машины с фиксированным IP в вашей сети, вы можете указать их IP-адреса в /etc/hosts и сопоставить адреса с понятными именами, такими как “daisy” или “patty”).

Telnet/ssh

Если вы используете Hyperterminal для связи с WRAP, вы вскоре захотите использовать PuTTY вместо этого. Для этого вам нужно настроить либо telnet (обязательное предупреждение о безопасности: telnet не безопасен - пароли не шифруются, теоретически кто-то может перехватить ваш пароль, прослушивая порт telnet), либо ssh. Мне нужно было быстрое и простое решение, поэтому я выбрал telnet. Сначала добавьте следующую строку в /etc/inetd.conf:

#:STANDARD: Это стандартные службы.
telnet stream tcp nowait telnetd.telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd

Затем установите пакет telnetd с помощью “apt-get install telnetd” и запустите супервизор inetd (“/etc/init.d/openbsd-inetd start” в Debian “sid”). Настройка ssh в sid, возможно, даже проще. Все, что вам нужно сделать, это:

apt-get install openssh-server

Это занимает 2 МБ дискового пространства, но если есть даже удаленная возможность, что кто-то извне может подключиться к порту telnet вашего компьютера, то, ну, я оставлю вам решить, что лучше.

Прежде чем вы сможете использовать telnet или ssh, однако, вам нужно настроить учетную запись пользователя через “adduser”. Также хорошей идеей будет установить пароль root через “passwd”.

С этого момента все сводится к тому, чтобы запустить PuTTY и выбрать либо telnet, либо SSH. Очевидно, что вы должны видеть WRAP с вашего компьютера Winblows. Если у вас включен TCP/IP и WRAP и компьютер Winblows находятся в одной подсети (я использую 192.168.0.0/24, WRAP - 192.168.0.7, а компьютер Winblows - 192.168.0.5 - все эти адреса фиксированные, DHCP не используется), то просто введите IP-адрес WRAP, и это должно сработать.

exim4

Используйте команду “dpkg-reconfigure exim4-config” для его настройки.

ntpdate

Поскольку у WRAP нет батареи, вы теряете настройки времени каждый раз, когда перезагружаетесь. Чтобы убедиться, что WRAP знает, сколько времени, и предполагая, что у вас есть “всегда включенное” интернет-соединение, вы можете просто установить пакет ntpdate. Это автоматически проконсультируется с сервером времени и установит ваши системные часы при загрузке.

NFS клиент

Ранее у меня была необходимость получить доступ к файлам моего компьютера с Linux с WRAP. Компьютер с Linux работает на сервере NFS версии 2. Чтобы WRAP получил к нему доступ, я сделал следующее:

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

На СЕРВЕРНОЙ стороне я настроил файл /etc/exports следующим образом:

/home/livingston wrap(rw)

(wrap настроен в /etc/hosts, чтобы указывать на WRAP)

На WRAP я сделал это:

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

(f216 - это сервер). Для более подробной информации смотрите NFS-HOWTO.

Удобные трюки WRAP

Чтобы узнать текущую температуру системы:

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

(умножьте результат на 1000, чтобы получить градусы Цельсия). Вот небольшой bash-скрипт, который предоставит более удобный вывод (требует “bc”, так что сначала выполните “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 "Температура системы: "$t2" градусов Цельсия"  
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.