vak: (Знайка)
[personal profile] vak
Есть успехи на фронте ретрокомпьютинга. Вчера удалось загрузить MS-DOS 3.30 с флопика.



Путь к этому делу был тернистый.
  1. Машина пришла с жёстким диском, но он не работал. Физически не раскручивался. Было понятно, что надо браться за флопики.
  2. У меня имелся исправный пятидюймовый флоповод и "свежая" неоткрытая упаковка флопиков 1.2 Мбайта.
  3. Встала задача сформатировать флопик и записать загрузочный диск MS-DOS. Но как это сделать? К современному лаптопу или даже настольному компьютеру пятидюймовый флоповод не подключишь. Прошерстил свою коллекцию ретро компьютеров на тему наличия интерфейса к флоповоду - отыскались Pentium 4 и Celeron. Эксперименты показали, что пентиумный компьютер понимает только трёхдюймовые флопы. Зато у селерона оказался выбор типа флоповода в биосе.
  4. Стал выяснять какой MS-DOS выбрать для XT. Узнал много нового про историю разных досов и соответствующего писишного хардвера. Исторически последней массовой версией именно для 8086 оказался MS-DOS 3.31. Более поздние или не грузились, или кушали заметно больше резидентной памяти.
  5. Загрузочных флопиков MS-DOS в сети куча, но чтобы именно версия 3.31 и образ 1.2 мегабайта - отыскался только один: winworldpc.com/product/ms-dos/331.
  6. На селероне у меня установлен Linux Debian. Внезапно обнаружилось, что пару лет назад из ядра Линукса убрали возможность форматировать флопы. Соответствующий системный вызов в драйвере флопа просто не выполняется. Нужно пересобрать модуль floppy.ko, благо он загружаемый.
  7. Удивительным образом в Линуксе до сих пор невозможно скомпилить один отдельно взятый загружаемый модуль. Перекомпиляция всего ядра на селероне заняла бы не меньше суток. И даже перекомпиляция только модулей. А сборка только драйверов блочных устройств возможна, но не фурычит.
  8. Проблема решилась установкой того же Дебиана на виртуальном i386 на маке, и компиляцией линуксного ядра в нём. Бинарник драйвера был переслан на селерон и задействован для форматирования флопа.
  9. Загружаемый 1.2-мегабайтный флопик был записан, но... XT-шка отказалась с него грузиться. И тут пришлось чесать репу. Смутные воспоминания довелось освежать гуглением. Не знал XT-шный флоповый контроллер и биос про существование 1.2 мегабайтных флопов. Они стали поддерживаться только в PC AT и позже. Надо добывать флопы 360 килобайт.
  10. Заказ пачки флопов 360к через Ebay приехал через несколько дней.
  11. Я решил, что для надёжности надо эти флопы и форматировать на XT-шном флоповоде. Ведь биос в селероне их вроде понимает. Убил два дня на борьбу с линуксным флоповым драйвером и утилитами floppycontrol и superformat. Коту под хвост: XT-шные флоповоды отказывались форматировать. Выдавали i/o error.
  12. Опять смутные воспоминания и мысль: ведь 1.2 мегабайтные флоповоды умели писать 360 килобайтные диски. Взял изначальный флоповод, и действительно, удалось сформатировать 360-килобайтные флопы.
  13. Образы загрузочных флопиков отыскались только версии MS-DOS 3.30: winworldpc.com/product/ms-dos/3x.
  14. Результат загрузки вы видите на фотке.
Дальше будем оживлять жёсткий диск.

Date: 2025-11-21 06:09 (UTC)
madef: (Default)
From: [personal profile] madef
Не правильнее было бы сначала решить проблему жёсткого диска, которую всё равно так и так придется решать?

Date: 2025-11-21 11:01 (UTC)
From: [identity profile] ledernierheros.livejournal.com
9. У нас в университете был класс XTшек, в которых точно стояли флоппы на 1.2. Это от контроллера зависело. А на контроллере была соответствующая перемычка для конфигурации. Вот 720 те контроллеры почему-то не умели, и мне действительно приходилось пользоваться флоппами по 360 для переноса

Date: 2025-11-21 11:05 (UTC)
From: [identity profile] ledernierheros.livejournal.com
7. Точно не умеет? У меня не входящий в ядро драйвер WiFi, который собирается отдельно и при этом он использует стандартный Makefile от ядра. Я не пробовал, но казалось бы, и стандартные модули так же должны уметь

Date: 2025-11-21 11:14 (UTC)
From: [identity profile] ledernierheros.livejournal.com
5. А зачем именно 3.31? Мне она была нужна потому что памяти было только 128К. У меня DOS 5.0 загружалась, но не оставалось памяти для запуска чего-нибудь полезного. Но 640К должно же быть достаточно (no pun intended)

Date: 2025-11-21 12:06 (UTC)
straktor: benders (Default)
From: [personal profile] straktor
вроде наоборот, если можно быстро и просто дать IDE device, то так и надо начинать

https://allegro.pl/oferta/adapter-dysk-ata-ide-2-5-3-5-sata-usb-1-5a-zasilacz-dysku-13335073596 $10
https://allegro.pl/oferta/gembird-adapter-usb2-0-do-ide-sata-2-5-3-5-z-zasilaczem-17829048067 20

конечно есть нюансы с блоками, надо давать что-то небольшое до 32 Мб, а то у FAT12 дрйвера крышу снесёт

Date: 2025-11-21 17:22 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Строго говоря, гарантия того, что диск на 40 дорожек, записанный на 80-дорожечном флоповоде, успешно прочтётся 40-дорожечным флоповодом - не стопроцентная. Хорошо, что повезло с юстировкой.

Date: 2025-11-21 18:44 (UTC)
ircicq: (Default)
From: [personal profile] ircicq
Тетрис Пажитнова на Электронике-60
На PC портировал Герасимов

Date: 2025-11-22 01:03 (UTC)
ccpro: (Default)
From: [personal profile] ccpro
как сейчас помню рекламу где-то на fm - один вэ эм эрэс хатэ

Date: 2025-11-23 21:02 (UTC)
bga68: (Default)
From: [personal profile] bga68
Я в своё время баловался тем, что грузил VMware с флэшки на Cisco'вских серверах и подавал по сети им хранилища в виртуалки. Классное время было
https://bga68comp.dreamwidth.org/7969.html

Date: 2025-11-24 08:49 (UTC)
From: [personal profile] ichthuss
DKMS - єто же просто способ доставки исходников и автоматизации сборки. Ничто не мешает собрать любой модуль из исходников по тому же принципу.

Date: 2025-11-25 20:23 (UTC)
bga68: (Default)
From: [personal profile] bga68
++

Date: 2025-11-26 05:20 (UTC)
ccpro: (Default)
From: [personal profile] ccpro
именно
я не сразу врубился, а потом всей питерской фидой ржали. я не один это услышал :)

Date: 2025-11-28 19:20 (UTC)
From: [personal profile] ichthuss
По-идее, достаточно установить исходники ядра через apt и дальне вьіполнить команду билда одного модуля. Все ядро пересобирать необходимости нет, должно и так сработать. Впрочем, надо будет проверить.

Date: 2025-12-07 15:27 (UTC)
From: [personal profile] ichthuss
Обьічно отдельньій модуль собирается командой
make M=path/to/module/dir
Причем єто вполне работает и in-tree. Но 100% не поручусь, не так часто я єто делал.