Версия 2.4
  • история версий
  • описание
     канал ALRM
     канал CTRL
     канал DEMO
     канал FILE
     канал LOG
     канал MYSQL
     канал RS232
     каналы SSL-TX/SSL-RX
     каналы TCP-TX/TCP-RX
     каналы UDP-TX/UDP-RX
  • лицензия (GPL): rus, eng
  • download
  • протокол DTP/DIA
    Версия 2.3
  • описания:
     dia
     dia_pro
     dia_file
  • dia-on-floppy (lite)
  • download (for win32 only)
  • лицензия:
     (LGPL) rus, eng
     коммерческая
    ENGLISH
  • short description
  • thermo on Palm OS
  • IETF internet draft of DTP/DIA

    DIA-on-Floppy
    ver.2.3 build 0028C, 2002-03-11

    Этот раздел содержит некоторые рекомендации по использованию программы на старых машинах без винчестера (запуск с дискеты). Очевидное решение: использование Linux и статически скомпонованного варианта программы. Требования к аппаратному обеспечению в этом случае определяются выбранным ядром Linux. Обычно это: CPU - 386, RAM - 4Mb, VGA, FDD. Чем древнее ядро, тем, скорее всего, меньше оно будет. Древность ядра снизу ограничивается известными багами и поддерживаемым железом.

    Шаг 1

    Ядро по вкусу можно выбрать на www.kernel.org. Разархивируем его в /usr/src:
      tar -zxf linux-2.X.XX.tar.gz   или   tar -jxf linux-2.X.XX.tar.bz2

    Конфигурируем:
      make config

    При этом желательно в ядро включать только то, что действительно надо, и обойтись без модулей. В ядро надо включить: Networking, PCI (если есть), SysV IPC, Floppy, RAM disk, TCP/IP, Network device (выбрать соответствующую сетевую карту), ext2fs, /proc (желательно), serial support. Не имеет смысла включать: loadable module support, kernel math emulation, support for a.out, IDE/MFM/RLL (при отсутствии), loopback device, multiple device driver, parallel port IDE, IPX, Appletalk, Amateur Radio, kernel/user network link, SCSI (при отсутствии), dummy net driver, EQL, PLIP, SLIP, PPP, Radio network, Token Ring, FDDI, ISDN, CDROM, файловые системы кроме ext2fs и /proc, parallel port, нестандартные последовательные порты, mouse, user misc device, tape support, APM, watchdog timer, enhanced RTC, sound card, kernel hacking. Опции IP выбираются в зависимости от конкретных условий и целесообразности.

    Затем корректируются зависимости:
      make dep

    После этого можно приступать к компиляции ядра:
      make zImage

    Если ядро оказалось большим, то можно попробовать make bzImage. В любом случае желательно, чтобы размер ядра не превышал 400 КБайт. Ядро (файл zImage или bzImage) оказывается в каталоге arch/i386/boot.

    У меня под рукой оказалось ядро 2.0.36. Оно скомпилировано в описанной конфигурации. Включена поддержка следующих сетевых карт: 3C501, 3C503, 3C509/579, 3C515, 3C590/3C900, EtherExpress Pro 10+/100B/100+, PCI NE2000, RTL8129/8139, EtherExpress 16, ISA NE2000/NE1000.

    Шаг 2

    Надо создать образ RAM-диска корневой файловой системы. Такой RAM-диск должен содержать shell, mount, ifconfig, route и, собственно, dia-lite. В качестве /sbin/init имеет смысл использовать скрипт, запускающий shell. Весьма желательно, чтобы все программы, включенные в RAM-диск, были скомпонованы статически (libc уж точно на дискету не влезет).

    Если вы собираетесь создавать RAM-диск самостоятельно, то:
      dd if=/dev/zero of=/dev/ram bs=1k count=4096   - очищаем RAM-диск
      mkfs.ext2 /dev/ram   - форматируем RAM-диск
      mount -t ext2 /dev/ram /mnt/disk   - монтируем RAM-диск

    Жизнь значительно упростится, если использовать готовый RAM-диск, например, rescue-диск из RedHat 5.x.
      zcat rescue.img > rescue   - разархивируем образ
      dd if=/dev/zero of=/dev/ram bs=1k count=4096   - очистка RAM-диска никогда не помешает
      dd if=./rescue of=/dev/ram   - копируем образ в RAM-диск
      mount -t ext2 /dev/ram /mnt/disk   - монтируем RAM-диск

    RAM-диск должен содержать нормальную структуру каталогов как для корневой файловой системы: /bin, /dev, /etc, /lib, /mnt, /proc, /tmp, /usr. Каталоги /sbin, /usr/bin и /usr/sbin можно заменить ссылками на /bin. Каталог /dev дожен содержать /dev/null, /dev/console, /dev/ttySx, остальное - опционально. Недостающие устройства формируются при помощи mknod или MAKEDEV:
      mknod /mnt/disk/dev/ttyS0 c 4 64

    На дискету помещается статически скомпонованная версия dia (dia-lite). В нее включены только реализации каналов RS232 и TCP-TX, а поддержка модулей отключена. Для TCP отключена также поддержка SOCKS5.

    После того, как все необходимое разместилось в RAM-диске, делаем его образ и архивируем:
      umount /mnt/disk
      dd if=/dev/ram of=dia-lite.ram bs=1k count=4096
      gzip -9 dia-lite.ram

    Шаг 3

    Создаем дискету:
      dd if=/usr/src/linux-2.X.XX/arch/i386/boot/zImage of=/dev/fd0   - переносим ядро на дискету
      dd if=dia-lite.ram.gz of=/dev/fd0 bs=1k seek=400   - со смещения 400k размещаем образ RAM-диска
      rdev /dev/fd0 /dev/fd0   - устанавливаем загрузочное устройство /dev/fd0 для ядра на дискете
      rdev -r /dev/fd0 16784   - передаем параметры ядру: load_ramdisk=1 и ramdisk_start=400

    Дискета "dia-on-floppy" готова!

    Вот мой вариант: dia-lite.img (1474560 байт).

     

    После загрузки дискеты, надо сконфигурировать сеть. (В принципе, ничто не мешает включить это в скрипт /bin/init.):
      ifconfig eth0 192.168.1.234   - здесь 192.168.1.234 - IP-адрес вашей машины (можно также указать маску сети и широковещательный адрес, но ifconfig подбирает вполне корректные значения по умолчанию)
      route add -host 192.168.1.254 dev eth0   - "прокладываем" путь к шлюзу (192.168.1.254)
      route add default gw 192.168.1.254   - назначаем его шлюзом по умолчанию

    Если требуется, можно поднять также интерфейс "lo".

    Затем делаем необходимые корректировки в файле настроек dia.ini (если они не были сделаны зарание) и запускаем dia-lite.