LINUX.ORG.RU

Избранные сообщения cheez

MINIX-NE

Галерея — Рабочие места

Привет, ЛОР.

В посте полугодичной давности я рассказал о том, как я возился с монохромным монитором от МежДелМаша, подключая его к IBM PS/2. Теперь же я хочу поделиться с вами совсем-таки недавним моим успехом уже софтверного характера, впрочем всё так же занимающим своё заслуженное место в одном из разделов Специальной олимпиады, а именно, — я модифицировал древний MINIX 1.7.5 под нужды своего компьютера, дабы использовать все основные возможности железа. Но начну я своё изложение всё-таки с описания характеристик, ибо именно оно является основным лимитирующим фактором.

Итак, на фото один IBM 8530 (PS/2 Model 30 286) со следующими параметрами

  • Процессор от SIEMENS, клон Intel 80286, 16-bit
  • Память 1 Мб (разбита на 640k+384k)
  • VGA на материнке
  • PS/2 клавиатура и мышь
  • Три ISA слота (мне повезло не возиться с MCA)
  • Compact Flash XT Lite adapter rev 4.1
  • Ethernet от SMC (WD8390 совместимая карта с RJ-45 и BMC)
  • EGA видеокарта от ATI с поддержкой MDA и CGA режимов

Делловский монитор подключён к VGA из материнки, а вот с монохромным монитором пришлось повозиться, сделав переходник с MDA DB-9 на DB-15, плюс выцыганить питание с разъёма для флоппи, ибо IBM решили убрать молексы из дизайна, и запитывать диски с материнки.

Ситуация с подключением двух мониторов довольна нестандартна для конца 80х, однако именно для этой цели адресное пространство у монохромного адаптера и у цветного графического (от которого наследуется текстовый режим VGA) разные, а значит в теории можно использовать VGA+MDA. Однако обычно программы для MS-DOS на это не затачивались, и профита от такой схемы для меня не должно было быть, если бы не…

Если бы не старый MINIX. Версии вплоть до 2.0.4 позволяли в теории запустить полноценный UNIX даже на IBM PC XT с 640k RAM. Однако же найти подходящую именно для меня конфигурацию MINIX оказалось задачей трудной. Я перебрал сначала версию MINIX для MS-DOS, но 1 MB памяти для неё было явно мало (что и не удивительно, ведь MINIX для DOS создаёт виртуальный диск в RAM). В итоге я смог установить в QEMU MINIX 1.7.5 на один из разделов Compact Flash, и потом даже запустить уже на самом PS/2.

Правда, путь к первой введённой в терминале команде был тернист. Во-первых, MINIX подвешивал клавиатуру при загрузке. Причину удалось установить, загрузившись в режиме совместимости с i8086, откуда подозрения сразу пали на злосчастную линию A20, которая управляется контроллером клавиатуры в AT-клонах для совместимости с i8086. В исходном коде kernel/klib88.s A20-линия выставлялась в соответствии с мануалами, вот только оказалось, что для IBM PS/2 появился специальный контроллер для управления A20, а посему код для ядра пришлось сразу же патчить. По итогам доступная память с 640k в режиме совместимости увеличилась до установленной памяти в 1 MB, плюс защищённый режим с его плюсами (ну и минусами тоже, об этом чуть позже).

Следующим шагом было реализации возможности работать одновременно в двух виртуальных tty, используя два монитора. В коде kernel/console.c такой абстракции как монитор или экран не было, поэтому пришлось долго провозиться с возникающими гонками за внутренние переменные, однако усилия были вознаграждены, и теперь я мог например вывести на один экран какой-нибудь man, и параллельно редактировать файл на другом, переключаять по Alt-<- Alt–>.

Ещё одна из проблем оригинального MINIX — он отказывался работать с CF-XT адаптером. Одно время я был удовлетворён работой драйвера, который вызывает функции BIOS int 13h через аппаратный сброс, пока я не захотел наконец-то разобраться с сетевым драйвером (благо он как раз для WD8390 совместимых карт уже был в исходниках). При включении Ethernet в параметрах ядра загрузка зависала на моменте инициализации драйвера диска (забавно, не правда ли?) Вместо того, чтобы пофиксить баг, я решили подойти к вопросу радикально и переписать стандартный драйвер IDE контроллера, чтобы он стал поддерживать CF-XT-lite. И это было увлекательно. Главной подсказской для меня стала принципиальная схема адаптера, потому что сходу отображение адресов CF на шину не гуглилось, и оказалось, что не на все вопросы необходимо искать ответ в Интернете, тем более когда достаточно просто взглянуть глазами на схему платы. Конечно, документация к CF и исходники XTIDE BIOS мне тоже помогли. В процессе переписывания драйвера в момент, когда я наконец-то разобрался с адресами, и драйвер стал идентифицировать устройство, я умудрился несколько раз испортить корневой раздел, но спасали бэкапы и Linux, который до сих пор поддерживает старую добрую MINIX FS.

Как итог: старый MINIX прекрасно себя чувствует на старой же машине с 16-bit разрядностью и 1 MB памяти, при этом позволяет выходить во внешний мир с помощью telnet и ftp и поддерживает мультизадачность. Сейчас я ковыряюсь с httpd сервером, который уже скомпилировался и запускается, но пока возвращает только 403 и 404 (причём делает это он секунд за пять, если не медленнее). Остались ещё мелкие недочёты по типу не работающего SIGTERM по Ctrl-C и мигающего сразу в двух экранах курсора (это сбивает с толку, потому что не знаешь, на какой экран сейчас перенаправлен ввод). Из глобального хочется сделать frame buffer хотя бы для VGA, а то и для обоих мониторов (попробовать видеокарту ATI в режиме Hercules). Другая возможная ветка развития — создание дистрибутива для старых компов и эмуляторов типа даже pcjs.org, чтобы у энтузиастов была возможность попробовать настоящий UNIX на своём ретро железе.

P.S. Да, чуть не забыл. На фото на левом мониторе telnet на какую-то из BBSок, на правом — стандартные UNIX команды и вывод кусочка ядра на экран.

>>> Просмотр (4000x3000, 4288 Kb)

 , , ,

luke
()

Рабочее место ретро-геймера

Галерея — Рабочие места

На фотографии мирно уживаются разные поколения компьютеров:

  • ПЭВМ Микроша (производство СССР). Процессор КР580ВМ80А, частота 1,8МГц, ОЗУ 32Кб.
  • Ноутбук HP Pro Book 450 G0 (производство КНР). Процессор Intel i7-3632QM, частота 2,2Ггц, ОЗУ 8Гб.


Про ноутбук особо рассказывать нечего, кроме того, что в нем установлен Debian Linux 9 Stable, на экране виден LXDE с Midnigth Commander, в котором открыт Ansible-проект. А про Микрошу можно много чего написать.

ПЭВМ Микроша сломалась 28 лет назад и скромно лежала на полке в дальнем углу. Наконец, я нашел человека с хабра-ником ZEvS_Poisk, который выразил готовность помочь, и Микроша снова в строю! Произошло это после публикации на Хабаре ностальжи-стайл статьи «Мой компьютер Микроша».

Программы в Микрошу загружаются с Android-смартфона через приложение RKM Tape Player. Это гораздо удобнее, чем с магнитофона, потому что не нужно «вслепую» мотать кассету до начала старта программы. Да и магнитофона-то, в рабочем состоянии, у меня нет. Однако, товарищ ZEvS_Poisk сейчас разрабатывает специальное устройство расширения, чтобы Микроша могла работать с SD-карточкой. Тогда загрузка программ будет практически мгновенной.

На своем сайте я разместил подробную статью о том, как восстанавливался компьютер Микроша, как подключена периферия, какие проблемы возникали и как решались:

ПЭВМ Микроша заработала спустя 28 лет!

Согласитесь, этот компьютер имеет весьма достойный дизайн, и выглядит очень неплохо! Но так было не всегда. Я заморочился, и нашел раритетные фотографии вариантов компьютера Микроша в процессе его производства. Видно, что дизайнерская мысль не стояла на месте, и итоговый вариант корпуса компьютера получился просто прелестным.

В общем, теперь у меня есть рабочий компьютер из 80-х.

Привет всем ретро-геймерам и прочим олдскульщикам!

>>> Просмотр (3200x1800, 3455 Kb)

 микроша, пэвм,

Xintrea
()

нерабочее место

Галерея — Рабочие места

Но работа кипит.

Ubuntu 16.04, thinkpad x1 carbon (5th gen).

Это трибьют.

>>> Просмотр (1280x853, 95 Kb)

 ,

tazhate
()

Ламповый Zipit Z2

Галерея — Рабочие места

Если никто не делает ламповых снимков, приходится их делать самому.

>>> Просмотр (3872x2592, 792 Kb)

 

murmur
()

Релиз oVirt 4.0

Новости — Open Source
Группа Open Source

Сегодня произошел релиз свободной системы управления виртуализацией oVirt 4.0.

Новые возможности и улучшения:

  • улучшен интерфейс портала администрирования;
  • повышена производительность миграции на лету;
  • добавлена поддержка управления Atomic OS и исполняемых в ней контейнеров;
  • oVirt node — минимальный образ ОС с oVirt;
  • обновлены API и RubySDK.

>>> Подробности

 

CaveRat
()

Кобейн опять загрустил

Галерея — Скриншоты

после того, как увидел галерею.

>>> Просмотр (2560x1440, 914 Kb)

zezic
()