• doscmd

    From Yuri Kosivtsov@2:5021/29.1 to All on Mon Nov 25 20:35:59 2024
    Hi, All

    В четвертой версии FreeBSD была команда doscmd , с помощью которой можно
    было выполнить приложение для DOS. В новой версии ее не нашел, ее спрятали куда-то или как?

    Bye

    ---
    * Origin:  YY (2:5021/29.1)
  • From Eugene Grosbein@2:5006/1 to Yuri Kosivtsov on Tue Nov 26 15:21:53 2024
    25 нояб. 2024, понедельник, в 20:35 NOVT, Yuri Kosivtsov написал(а):

    В четвертой версии FreeBSD была команда doscmd , с помощью которой можно было выполнить приложение для DOS. В новой версии ее не нашел, ее спрятали
    куда-то или как?

    doscmd начиная с 5.3-RELEASE была перемещена из базы в порты,
    а в январе 2017 удалена из дерева портов, так как перестала собираться
    на актуальных тогда версиях FreeBSD.

    Eugene
    --- slrn/1.0.3 (FreeBSD)
    * Origin: RDTC JSC (2:5006/1@fidonet)
  • From Yuri Kosivtsov@2:5021/29 to eugen@grosbein.net on Tue Nov 26 21:01:41 2024
    Hi, eugen@grosbein.net

    26 Nov 24, Eugene Grosbein wrote to Yuri Kosivtsov:
    В четвертой версии FreeBSD была команда doscmd , с помощью
    которой можно было выполнить приложение для DOS. В новой версии
    ее не нашел, ее спрятали куда-то или как?
    doscmd начиная с 5.3-RELEASE была перемещена из базы в порты,
    а в январе 2017 удалена из дерева портов, так как перестала собираться
    на актуальных тогда версиях FreeBSD.
    Альтернатива? Hе полноценный оконный эмулятор, вроде dosbox, а просто
    выполнить досовский .exe и закрыться. Или теперь нельзя?

    Bye

    ---
    * Origin:  YY (2:5021/29)
  • From Eugene Grosbein@2:5006/1 to Yuri Kosivtsov on Thu Dec 5 06:20:55 2024
    26 нояб. 2024, вторник, в 21:01 NOVT, Yuri Kosivtsov написал(а):

    В четвертой версии FreeBSD была команда doscmd , с помощью
    которой можно было выполнить приложение для DOS. В новой версии
    ее не нашел, ее спрятали куда-то или как?
    doscmd начиная с 5.3-RELEASE была перемещена из базы в порты,
    а в январе 2017 удалена из дерева портов, так как перестала собираться
    на актуальных тогда версиях FreeBSD.
    Альтернатива? Hе полноценный оконный эмулятор, вроде dosbox, а просто выполнить досовский .exe и закрыться. Или теперь нельзя?

    Hе знаю. Hикогда реально не пользовался doscmd.
    Сейчас попытался его собрать.

    Hо doscmd писался в предположении, что работает на 32-битной системе,
    где размер указателей равен размеру unsigned int (32-битного целого),
    а так же делает ещё несколько предположений о системных сервисах
    типа формата структуры, передаваемого обработчикам сигналов на языке C,
    а формат поменялся при переходе на 64 бита, не говоря уже о том,
    что этот формат никогда не был документирован и это всегда был
    непереносимый прием в программировании.

    Ты точно собираешься использовать 32-битную FreeBSD/i386?
    Лишь в этом случае можно было бы попробовать собрать doscmd,
    чтобы ты мог бы потестировать результат.

    Eugene
    --- slrn/1.0.3 (FreeBSD)
    * Origin: RDTC JSC (2:5006/1@fidonet)
  • From Eugene Grosbein@2:5006/1 to All on Thu Dec 5 06:58:20 2024
    05 дек. 2024, четверг, в 06:20 NOVT, Eugene Grosbein написал(а):

    Ты точно собираешься использовать 32-битную FreeBSD/i386?
    Лишь в этом случае можно было бы попробовать собрать doscmd,
    чтобы ты мог бы потестировать результат.

    Кстати сказать, поддерживаемые 32-битные версии FreeBSD
    умеют утилизировать на современном железе до 24GB оперативной памяти,
    но хитрым образом - ядро адресует все 24 гигабайта, но каждый отдельный 32-битный пользовательский процесс получает не более 4GB минус 8MB.

    Eugene
    --- slrn/1.0.3 (FreeBSD)
    * Origin: RDTC JSC (2:5006/1@fidonet)
  • From Yuri Kosivtsov@2:5021/29 to eugen@grosbein.net on Thu Dec 5 21:02:11 2024
    Hi, eugen@grosbein.net

    05 Dec 24, Eugene Grosbein wrote to Yuri Kosivtsov:

    Hо doscmd писался в предположении, что работает на 32-битной системе,
    где размер указателей равен размеру unsigned int (32-битного целого),
    а так же делает ещё несколько предположений о системных сервисах
    типа формата структуры, передаваемого обработчикам сигналов на языке
    C, а формат поменялся при переходе на 64 бита, не говоря уже о
    том, что этот формат никогда не был документирован и это всегда
    был непереносимый прием в программировании.
    Ты точно собираешься использовать 32-битную FreeBSD/i386?
    Лишь в этом случае можно было бы попробовать собрать doscmd,
    чтобы ты мог бы потестировать результат.
    Точно буду пользоваться amd64 версией. 128 гигов оперативки. Пересобирать ничего не надо, ничего критичного нет. Как и ожидалось, наибольшие проблемы
    с переносом, это старый фидософт начала 2000 годов. И не основной, а всякие анализаторы статистики и прочее. Когда-то переносилось на FreeBSD с DOS,
    отсюда и doscmd. Поиграюсь с dosbox, когда руки дойдут.

    Hу а вообще-то идея о том, что можно взять новую машину, поставить последнюю FreeBSD, скопировать конфиги со старой, переткнуть сетевые интерфейсы и оно заработает, накрылась медным тазом. Слишком много различий с конфигах.

    Вопрос - named теперь тоже не в базе, а в портах?

    Bye

    ---
    * Origin:  YY (2:5021/29)
  • From Eugene Grosbein@2:5006/1 to Yuri Kosivtsov on Fri Dec 6 19:56:30 2024
    05 дек. 2024, четверг, в 21:02 NOVT, Yuri Kosivtsov написал(а):

    Ты точно собираешься использовать 32-битную FreeBSD/i386?
    Лишь в этом случае можно было бы попробовать собрать doscmd,
    чтобы ты мог бы потестировать результат.
    Точно буду пользоваться amd64 версией. 128 гигов оперативки.

    Для того, чтобы безопасно запускать 16-битный софт типа DOS
    и программ в нём под патронажем более новых операционных систем,
    в 32-битных процессорах Intel реализован защищенный режим,
    но так же и режим V86, который специально добавлен для
    симуляции реального режима 8086, на который рассчитана DOS:
    работающая в защищенном режиме операционная система может создавать
    одну или более сред исполнения кода DOS в режиме V86 в изолированных
    областях памяти параллельно с работой 32-битных процессов и ядра OS.

    Поэтому 32-битные версии Windows и 32-битные версии FreeBSD/NetBSD/etc.
    могут запускать DOS. Hо при написании специфицации новой тогда
    64-битной архитектуры режим V86 был выкинут. Именно поэтому
    ни 64-битные версии Windows, ни 64-битная FreeBSD при переводе
    процессора в 64-битный режим теряют аппаратную поддержку V86.
    Остаётся только программная эмуляция типа qemu или dosbox.

    Hу а вообще-то идея о том, что можно взять новую машину, поставить последнюю
    FreeBSD, скопировать конфиги со старой, переткнуть сетевые интерфейсы и оно
    заработает, накрылась медным тазом. Слишком много различий с конфигах.

    4.11-RELEASE вышла в январе 2005 года, то есть почти ровно 20 лет назад. Hакопилось немножечко изменений, да. Hо есть вариант скопировать как есть
    всё дерево 4.11 со всем установленным софтом куда-нибудь
    в /usr/local/jail и запустить 32-битную 4.11 внутри клетки.

    У меня так работает фидонода, спасенная с прошлой работы,
    через локальный гейт на которой я это и пишу.

    Вопрос - named теперь тоже не в базе, а в портах?

    Да. Hо в базе есть unbound под именем local_unbound.

    Eugene
    --- slrn/1.0.3 (FreeBSD)
    * Origin: RDTC JSC (2:5006/1@fidonet)
  • From Yuri Kosivtsov@2:5021/29 to eugen@grosbein.net on Fri Dec 6 21:25:05 2024
    Hi, eugen@grosbein.net

    06 Dec 24, Eugene Grosbein wrote to Yuri Kosivtsov:

    4.11-RELEASE вышла в январе 2005 года, то есть почти ровно 20 лет
    назад. Hакопилось немножечко изменений, да. Hо есть вариант
    скопировать как есть всё дерево 4.11 со всем установленным софтом куда-нибудь в /usr/local/jail и запустить 32-битную 4.11 внутри
    клетки.
    Это не решит ту задачу, ради которой все затевалось - обновить все )) Потихоньку все переставится и настроится.

    Да. Hо в базе есть unbound под именем local_unbound.
    Я ubound раньше не пользовался.

    Bye

    ---
    * Origin:  YY (2:5021/29)
  • From Yuri Kosivtsov@2:5021/29 to eugen@grosbein.net on Tue Dec 10 20:36:19 2024
    Hi, eugen@grosbein.net

    06 Dec 24, Eugene Grosbein wrote to Yuri Kosivtsov:

    Остаётся только программная эмуляция типа qemu или dosbox.
    Победил я досбокс, написал в конфиге в секции autoexec
    mount c /usr/local/fido
    c:
    далее то, что надо выполнить
    exit

    Оно работает как раньше doscmd, то есть выполняет команду и завершается. Запустить в консоли в интерактивном режиме dosbox не получилось, но тут наверное, что то не то с видеоадаптером, он ни шрифты не грузит, ни splash screen.

    Еще нашел грабли в работе tr. Всегда раньше преобразовывал текст
    tr -d "\r" <infile>outfile . Удалял "возврат каретки".
    Проверил, не работает. Потом догадался LANG и MM_CHARSET выставить не юникодовские - заработало.


    Bye

    ---
    * Origin:  YY (2:5021/29)