Сборка MS-DOS 4.0 (рабочая инструкция)
May. 6th, 2024 12:26 pm
Не оставил попыток собрать MS-DOS 4.0 (первая попытка описывалась в предыдущем посте). Смог победить все проблемы с кодировками.
В результате получилась неплохая инструкция по сборке, для того чтобы другие исследователи смогли её повторить.
Подробнее в моей статье:
Сборка MS-DOS 4.0
Буду рад вашим комментариям, лайкам.
no subject
Date: 2024-05-06 09:42 am (UTC)А родная досовская утилита format с ключом /s разве не работает с образом дисткеты?
no subject
Date: 2024-05-06 09:46 am (UTC)Не понимаю вопроса.
Утилиты работают, но первый перенос надо как-то сделать с собранных файлов, которые где-то навалены в какой-то папке. От этого трудности.
format a: /s откуда берёт системные файлы?
no subject
Date: 2024-05-06 09:54 am (UTC)Насколько я помню, берет того диска, с которого загружена эта система. Но самое главное, что с этим ключом она создает правильную (для своей версии) загрузочную запись. Файлы же, насколько я помню, можно удалить потом, и на чистую дискету скопировать из нужного места io.sys, msdos.sys и command.com (первым обязательно io.sys).
no subject
Date: 2024-05-06 10:00 am (UTC)Все что вы говорите я знаю. Мы собрали из исходников систему, как теперь с неё загрузится? Я могу скинуть собранные файлы и вы своими силами сделаете её.
Фактически, я же так и сделал, форматировал дискету с ДОС 4.0 и потом копировал файлы. Все описано в статье.
no subject
Date: 2024-05-07 10:28 pm (UTC)Можно делать "format /b" — создаст загрузочную запись и закинет болванки системных файлов, грузится с этого диска нельзя будет. И да, скомпилированный format.com не работает в досбоксе %(
Придется грузиться с другого загрузочного диска, я пробовал загрузится с DRDOS1_IMD.img который есть в репозитарии но в qemu оно мне сказало Internal Error XXXX и не загрузилось. Разбираться было влом — загрузил первый попавшийся образ флопика с дос 4.01.
Затем загрузился в qemu -fda=system4.01 -fdb образ созданный truncate(sys40).
После загрузки format b: /s
Затем загрузился в досбокс, примонтировал sys40, запустил волков командер, удалил io.sys, msdos.sys, command.com скопированные из 4.01.
Скопировал эти файлы в этой же последовательности из папки с собранными файлами. Да, кстати, копировать просто поверх неправильно — может поломаться, емнип там в бут лоадере совсем тупой загрузчик который только файлы у которые в фат сектора подряд идут понимает, при записи поверх может получится фигня если размер старых файлов был меньше размера новых.
Затем закинул все остальное — утилиты дос, волков.
Загрузка с этого образа дискеты(sys40) в qemu прошла успешно.
no subject
Date: 2024-05-07 10:53 pm (UTC)О, кстати, можно скопировать последние 512 байт MSBOOT.BIN в первый сектор дискеты, закунуть туда io.sys, msdos.sys, command.com — должна получиться загрузочная дискета.
no subject
Date: 2024-05-08 12:38 am (UTC)Не, не работает — там еще параметры диска записаны, надо копировать загрузчик скипая параметры диска. Т.е. это пару вызовов ДД с разными параметрами, либо запуск format /s
no subject
Date: 2024-05-06 10:39 am (UTC)Это очень круто! Прочел как детектив!
no subject
Date: 2024-05-07 08:20 am (UTC)Круто