LINUX.ORG.RU

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

Открыл для себя vm.overcommit_memory

Форум — Talks

Да, я слоупок: более 5 лет пользуюсь линуксом, даже программист вроде как, и только сейчас обнаружил эти отличные опции для `/etc/sysctl.conf`:

vm.overcommit_memory = 2
vm.overcommit_ratio = 100

Перегрузил опции командой `sudo sysctl --system` и попал прямо в райские кущи. Можно открыть браузер, три IDE и запустить виртуалку Virtual Box - и результатом станет не зависание системы намертво с необходимостью делать hard reset, а просто ошибка в Virtual Box (работа виртуальной машины прервана).

Своп отключил ещё раньше, я не хочу, чтобы моя система висла намертво под девизом «я тут данные программы в своп скину, как будто бы памяти достаточно, ты тут посиди пару дней, подожди, пока я закончу». Хотя конечно с точки зрения разработчиков Linux это не зависание намертво, это просто долгая работа со свопом - но я так не считаю и считаю что в линуксе своп надо отключать.

А как вы боретесь с традиционным для Linux зависанием намертво при нехватке памяти?

P.S. для справки, настройку выполнял согласно этому былинному посту: http://avz.org.ua/wp/2011/04/24/overcommit-memory/

 

quiet_readonly
()

Перенос виртуальной машины на реальное железо

Форум — Linux-install

Всем доброго времени суток!

Вопрос, возможно, глупый, но всё же:
Есть полностью сконфигурированная ВМ, созданная в Virtualbox 4.1.6
Задача — перенести её на реальное железо, причем, желательно, с использованием флэш-накопителя.

Насколько я понимаю, пошагово это будет выглядеть как — создать образ харда виртуалки, записать его вместе с загрузчиком на флэшку, после чего развернуть этот образ на хард реального компа.

Если ход мыслей верен — прошу расписать каждый шаг и ПО, необходимое для реализации (или отослать к руководствам, если таковые имеются =) ), если же неверен — опять-таки, наставить на путь истинный.

Заранее благодарен за любую помощь! =)

NOX
()

Создание скринсейвера на базе mpv и swayidle

Статьи — Desktop

Это мини-руководство показывает, как создавать скринсейверы для систем на базе Wayland с фрагментами видео. Swayidle — это служба управления простоями (idle management daemon), совместимая с любыми Wayland-композиторами, поддерживающими протокол ext-idle-notify.

Для начала можно с помощью yt-dlp скачать с ютуба видео какого-нибудь коммерческого скринсейвера, типа Dream Aquarium. В моём примере видео будет начинаться со случайной позиции, в полноэкранном режиме, зациклено и будет выключаться по нажатию пробела.
Приступим.

pacman -S swayidle mpv


/home/seth/.s44-programs/Dream Aquarium/aqua-start.sh

#!/usr/bin/env bash

cd "$(dirname "$0")" # Определяем директорию скрипта, как текущую рабочую

# запускаем MPV на весь экран, зациклено, со случайной позиции видео
mpv --osc=no --start=$(shuf -n1 -i0-7200) --fs --loop-file "$HOME/Видео/DreamAquarium.webm" &
echo $! >./aquarium.pid # Записываем PID запущенного экземпляра MPV

--start=$(shuf -n1 -i0-7200) — это функция получения случайной позиции видео. Вместо 7200 впишите длительность своего видео в секундах.


/home/seth/.s44-programs/Dream Aquarium/aqua-kill.sh
#!/usr/bin/env bash

cd "$(dirname "$0")" # Смена каталога по месту нахождения скрипта

kill -15 $(cat ./aquarium.pid) # Завершаем MPV

Далее нужно создать ярлычок SwayIdle в автозагрузке:
swayidle timeout 300 ./aqua-start.sh resume ./aqua-kill.sh

Укажите в качестве рабочей директории программы путь к папке со скриптами!

Не забудьте дать права на выполнение:

chmod +x aqua-start.sh
chmod +x aqua-kill.sh

=======================
Поздравляю! Вы самостоятельно сделали скринсейвер! Молодцы!

 , , swayidle,

Set440
()

MRuby, FreeBSD и абстракционизм

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

Дописал таки статью про эту замечательную штуку MRuby, кому интересно можете ознакомиться по ссылке.

Теперь про скриншот.

В этот раз мы c FreeBSD косим под RiscOS с иконками от CDE, как если бы на дворе был конец 80х/начало 90x. Для страждущих вот выдержка из вывода neofetch:

WM Theme: RISCOS-Hi-DPI 
Theme: DesktopPal97 
Icons: CDE-Reborn 

Выглядит как в кино, чего и хотел достигнуть. В качестве редактора - Cudatext от @Alexey_Tor_

Но самое важное это конечно картина на фоне, дело в том что я так и не смог установить авторство. Картина настолько знаменитая и популярная, что ее продают на Амазоне в виде настенной живописи и она фигурирует в разнообразных сборниках под видом Taiwanese/Japanese/Mexican/Malasian art.

Вообщем буду рад если ценители классического искусства на ЛОРе подскажут автора.

>>> Просмотр (1366x768, 1409 Kb)

 , mruby,

alex0x08
()

Новогодний минт

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

Решил создать себе новогоднее настроение хотя бы на рабочей машине. Участники праздника - Linux Mint 10,awn + набор скринлетов.На нетбуке MSI u120 все летает.Для задач аля инет,аська,музыка+фильмы,работа - хватает полностью.Комментируем советуем....

>>> Просмотр (1024x600, 735 Kb)

 ,

komrad-zack
()

Arch Linux

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

Здесь я хочу попробовать описать свой вариант сетапа системы для слабого компьютера на основе дистрибутива Arch Linux.

Характеристики:

TN 11,6" 1366x768
CPU: Intel Celeron N4020
RAM: 4GB DDR4-2400
GPU: Intel UHD600
eMMC: 64GB

По пакетам:

  • hyprland — практически dwm от мира иксов, но красивый и с конфиг файлом, который применяет изменения на лету, крутяк;
  • wofi — пускалка, аналог rofi и dmenu;
  • foot — st оттуда же, простой конфиг-файл для ваших настроек;
  • fish — ну это просто пушка, швейцарские часы от мира шеллов, единственная жалоба баш-староверов «оно жи не посиксъ»;
  • ungoogled-chromium в качестве браузера, лучший вариант на сегодня (все говно);
  • mpv — чтобы смотреть кинцо на телевизоре по hdmi, идеально работает изкоробки;
  • pcmanfm + gvfs — если надо пошариться по каталогам или флешкам, работает нативно кстати (я удивлен);
  • rtorrent — качалка фильмов с рутрекера, сейчас пока тестирую, но если будет плохо качать верну обратно tixati (в репах гтк2 версия, но они там вроде гтк3 где-то сделали, потом разберусь);
  • aircrack-ng + reaver + pixiewps + bully — джентльменский набор кибершкольника, иногда выручает;
  • create_ap — обмотка вокруг hostapd, правда у меня сейчас какой-то *** начался, пока разбираюсь, а до этого работало отлично, ни единого разрыва (sic!);
  • iw + iwd + dhcpcd - подключиться к wifi;
  • ttf-ms-fonts + terminus-font - лично меня устраивает.

По фишкам:

  • systemd-boot — потому, что быстро и 2023 на дворе, без вариантов4
  • zram — чтобы не насиловать бедную emmc, работает отлично, будто еще планку добавил, мастхев;
  • btrfs — включил сжатие zstd:1 разве что. хотел f2fs но оно не смогло форматнуть мне раздел (sic!);
  • linux-zen — до этого стоял linux-lqx, все было круто, но я нашел один фатальный недостаток: нельзя было ограничить частоту процессора в бусте (1.1 базовая, а в бусте 2.7), поменял на linux-zen, теперь условно в cpupower-gui можно ткнуть 2.2ггц и камушек не будет нагреваться, охлаждения то нет совсем;
  • подключил репозитории archlinuxcn и chaotic-aur. А еще можно добавить blackarch (весь софт из одноименного дистрибутива в вашем арче).

От шифрования отказался, проводил эксперимент, субъективно система стала работать хуже, а мне важна производительность, камень совсем детский. Да и с другой стороны, если украдут, все равно снесут и винду накатят, важной инфы на нем нет совсем никакой, так что смысла не вижу, хотя сам факт шифрования ради «кибер-гигиены» мне был бы приятен.

Помимо всего прочего, в нетбуке есть разъем microsd, там сейчас воткнута карточка на 128гб под торренты, в основном там одни фильмы да сериалы. Недавно пересмотрел все части истории игрушек.

Startup finished in 2.085s (firmware) + 1.028s (loader) + 666ms (kernel) + 1.030s (initrd) + 3.993s (userspace) = 8.805s

В параметры ядра накидал quiet и прочее, так что во время включения просто вижу пару секунд логотип Asus и потом сразу рабочий стол и далее браузер.

По потреблению памяти получилось ок: если на пустом рабочем столе открыть htop, ну мегабайт 200 вроде, c браузером и 1 вкладкой: 500мб.

По общему весу: около 1.5гб, можно легко уместиться даже на какую-нибудь теоретическую микросд на 2гб, еще место останется. В планах поменять sudo на doas (не хочу вводить пароль, но и под рутом сидеть негоже)

Звук pulseaudio, потому что работает и не нужно ничего конфигурировать. Про альтернативу слышал, но просто лень разбираться, да и причин на это нет.

Ну что еще сказать: окошки 10/11 на этой лошадке работали субъективно намного хуже, были видны дерганья и тормоза в анимациях в чистой ос, браузер с ютубом уже достаточно хорошо напрягали всю систему, ибо десятка в самых урезанных васяносборках минимум 1-1.5 гб жрет.

Спрашивайте ваши ответы: может кто хочет тоже подобное попробовать поставить на свой ПК. Если нужны будут какие конфиги или выводы команд, могу скинуть. Думаю в будущем может даже сделать краткое руководство, как сделать аналогичную систему самому (последовательность действий + конфиги) с пояснениями для совсем начинающих.

>>> Просмотр (1366x768, 833 Kb)

 , ,

DM_
()

Жизнь с ноутбуком, на котором жизни быть не должно

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

Добрый вечер, ЛОРчане. Первый раз делюсь чем-то подобным. Встречайте - рабочее место основанное на MacBook Air с M2. На фоне можно видеть iMac 5K 2017 на 27" (базовая версия + потом докидывал до 64 гБ ОЗУ), однако сейчас он у меня не в почёте, ибо слабоват относительно ноута (всего-то 5 лет прошло). Видал аймак всякое за свою жизнь (гентушечку с 10 тБ свопа по юзб например :) ), но сейчас не об этом.

Это мой второй макбук на чипе от Apple, первый был залит ряженкой (кривые руки) и сейчас работает в качестве сервера (в линукс перезагрузить возможности нет (залипание клавиш), приходится выживать под макосью). Пользовался Asahi в качестве второй системы ещё до альфа релиза, так что уже «подружился» с линуксом на арме.

( читать дальше... )

По рабочему месту:

  • ЦАП - FiiO K5 Pro ESS
  • Наушники - Beyerdynamic DT 990 Pro (на 250 Ом)
  • Колонки - стереопара HomePod mini (слева от Марисы один из них)
  • Фумо: Мариса, Койши и Сырно
  • Мышь: MX Anywhere 3 (абсолютно не пользуюсь, если надо поуправлять аймаком - можно использовать клаву+трекпад от макбука по беспроводу)

>>> Просмотр (3657x5120, 3216 Kb)

 , , , ,

ivabus
()

Zram vs Zswap. Часть 1: практика

Статьи — Desktop

Хочу поделиться историей вылезшего косяка настройки свопа.

Я до сих пор гоняю в качестве десктопа железки с очень малым объёмом памяти и соответственно очень активно своплюсь. Раньше для этоого использовал традиционный и более распиареный zram, но потом у меня закралось подозрение что я всё делаю неправильно...

( читать дальше... )

 , ,

kirill_rrr
()

CDE 2.5.0

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

Пощупал наконец CDE 2.5.0.

В качестве обоины — улучшенное с помощью CUDA изображение с исходником в 640x480, открытое в xv. К сожалению, CDE не переваривает большие png, поэтому пришлось ужать в jpeg.

Теперь наконец-то нормальная кодировка, а то когда проверял в последний раз там поддерживалась только кодировка C. И полноценные 64 бита, а то приходилось изгаляться со сборкой под 32 бита.

К сожалению, моя попытка завести xft шрифты для CDE со стороны сервера закончилась неудачей. Как видно на скриншоте, xrdb работает во время сессии только для xterm.

>>> Просмотр (1920x1080, 1622 Kb)

 ,

vbcnthfkmnth123
()

Рабочее место линуксоида глазами ИИ

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

Попросил midjourney представить себе рабочее место линуксоида.

Слева - четыре варианта ответа на запрос «linuxoid workplace». Справа - результат потока сознания на запрос «photo of a dystopian workplace of a linux hacker, steampunk style, rainbow pony , closup on the linux terminal».

Хотели бы вы так жить?

>>> Просмотр (2696x1192, 4723 Kb)

 ,

phrm
()

Прошлое лэптопов, ещё не очень ноутбуков.

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

Собственно вот, экземпляр 1993 года. Блока питания в кадре нет, но он рабочий.

Аккумуляторами в нём и не пахло ещё в помине, ну если не считать «ёлочку» 3.6в. у BIOS.

Сей девайс монохромный. Зато имеет высокие клавиши, естественно только английские. Сам он ещё GoldStar, эту фирму помнят многие.

Регулировка яркости и контрастности есть :) Флопповод был, изначально, стандартный 724Кб. 3.5", заменён потом на 1.44Мб. такой же, не велик дефицит :) Вот с хардом забавнее, там был на 60Мб. IDE 3.5", тоже стандартный от WD, но был заменён, на не дешёвый тогда, Seagete Connor серии, на 400Мб.

В общем-то на этом лэптопе бы, вполне уже, можно было завести и какой нибудь QNX Unix, но упёрлось бы всё в графику CGA и процессор, хоть и 386, но 3.5Мгц. всего тактовой, ну и распаянный мегабайт памяти по плате.

Стоял DOS 3.3 уже, изначально 3.1 с магазина.

Вот такие были наколенники тогда. Сейчас он в политехническом музее нашего городка. Учат студентов, и он работает! Умели же делать.

Извиняюсь, за очередную ностальгическую тему, но думаю кому-то может быть интересно.

Если есть вопросы, то спрашивайте, я отвечу. Стоил он тогда 1400$, но и $ был дешевле, и зарплата у меня высокая, см. профиль.

Надеюсь модераторы пропустят эту ностальгическую тему, ибо многим будет не безынтересно. Тогда и сейчас :)

Если возникает вопрос:«А при чём тут Linux?», то я отвечу:«При том, что сейчас на ноутбуках у очень многих из вас Linux. А это их дедушка, на который будет интересно глянуть не только более молодому поколению, ибо надо знать истоки происхождения лэптопов.»

Были наколенники и других фирм, в продаже у нас в базе, но мне этот глянулся :) И не зря, я считаю. Работал на нём я года два, ну и потом дочь играла ещё года два, пока я ей не купил посерьёзнее и поновее агрегат от IBM.

>>> Просмотр (1280x1024, 223 Kb)

 ,

Mamluk
()

Яндекс выложил в опенсорс userver — инструмент для создания высоконагруженных приложений

Новости — Разработка
Группа Разработка

Интернет, 29 июля 2022 года. Яндекс опубликовал исходный код и документацию фреймворка userver. Это первый открытый набор инструментов, который позволяет создавать высоконагруженные приложения на языке С++ и протестирован на масштабах уровня Яндекса. Userver используют в Яндекс Go, Лавке, Доставке, Маркете, финтех-проектах и многих других сервисах компании. Фреймворк предоставляется по открытой лицензии Apache 2.0.

Userver лучше всего подходит для разработки приложений с микросервисной архитектурой. Изначально фреймворк разрабатывался в Такси, с его помощью команда перешла с монолитного приложения на архитектуру, которая позволяет разрабатывать отдельные независимые компоненты (микросервисы) и использовать их в разных приложениях.

Микросервисы автономны, поэтому приложение на подобной архитектуре легко обновлять и добавлять в него новые функции. Так, микросервис поиска водителя на заказы в Такси можно использовать для схожей задачи — например поиска курьера для выполнения заказов Яндекс Доставки. То же самое можно проделать и с расчетом времени прибытия водителя или курьера и многими другими задачами.

«Когда мы переходили на микросервисы, мы понимали, что новый фреймворк должен быть как можно проще для разработчиков и бизнеса. Поэтому userver создавали с акцентом на надёжность и удобство, а внутри него есть всё необходимое для разработки, диагностики, мониторинга, отладки и экспериментов. Например, userver подсказывает как исправить ошибки ещё на этапе компиляции, умеет работать с разными базами данных, менять параметры на лету и так далее. Он хорошо подходит для разработки приложений как в небольших, так и в крупных компаниях. И с помощью userver даже новичок может за неделю написать новый микросервис», — говорит Антон Полухин, один из авторов фреймворка и руководитель группы бэкенд-разработки решений для продуктовых команд RideTech и eCom.

Яндекс выкладывает в опенсорс и другие свои ключевые технологии — например, распределенную систему управления базами данных YDB, способную обрабатывать миллионы запросов в секунду, а также библиотеку машинного обучения CatBoost, которую Яндекс применяет в Поиске и других сервисах.

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

 , , ,

anonymous
()

Pocketbook 741 Color

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

Оказывается читалки Pocketbook работают на лине, что меня сильно удивило, особенно учитывая то, что эти модели держат аккум с месяц или около того. И это с двуядерным камнем на борту.

Ранее вообще никакими читалками не пользовался, но ситуация при которой нужно держать тонны PDF при себе, заставила задуматься о приобретении устройства. И скажу, что сейчас доволен как слон. За пару часов чтения PDF телефон закипал и высаживался в нуль. Теперь, примерно за такой же объём страниц и время на читалке ушло процента 4, наверное. И руки не кипятит. Боялся, что ранние цветные модели сильно ругали за качество картинки и темноту отражённого света, однако, в последнем на данный момент варианте color-модели всё выглядит очень достойно! Изображение не идеальное, да, но в режиме монохрома чёрный текст выглядят как на печатной бумаге! Выглядит очень чётко. Самый большой PDF-файл что я открывал был на 1207 страниц при весе в 66,37 Мб (Айвор Хортон, учебник по Visual C++). Книжка переваривает с трудом, открывает за 15-20 секунд, перелистывает по несколько секунд, меню управления тоже открывает по 10-15 секунд. Если бы это был EPUB, то подобный вес и количество страниц проглатывались бы стандартно «быстро». Конектится к компу как съёмный носитель, Astra Linux CE 2.X съел без проблем.

Сразу о качестве изображения: лорные фотки на предпросмотре выглядят прям совсем-совсем ужато-пережато, в реальности глаз не видит какие-либо технологические особенности картинки, разве что есть моменты с цветными изображениями, но то отдельная тема разговора. Заинтересовавшимся лучше открыть оригинал, но и он тоже не передаёт всё качество картинки. На левой фотке подсветка не включена, хотя иконка в статус-баре присутствует. Но она там выкручена в нуль, и в темноте с мраком неразличима. Собственно так выглядят сайты на цветном e-ink экране при естественном цвете. Центральная фотка тоже без подсветки, только монохром, и он божественен. Хотя... мне может просто сравнивать не с чем, но мне очень нравится. И на правой фотке экран с яркостью в примерно в 4/5.

Интересующимся рекомендую. Брал на нашем озоне, чтоб можно было без проблем вернуть обратно. Ну и гарантия чтоб была, а не как на алике каком-нибудь...

>>> Просмотр (5120x3511, 2484 Kb)

 , ,

NeTC
()

Enemy of the State (1998)

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

Красоты зелёной темы CDE на рабочей станции Sun в фильме «Враг государства» 1998 года.

>>> Просмотр (2142x1080, 390 Kb)

 , ,

eugrus
()

Апофеоз электронной бумаги

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

Внезапно осознал, что большинство экранов, которые я использую по жизни — EInk, изготовленные на основе технологии электронной бумаги.

На рабочем столе монитор Onyx Boox Mira Pro 25" с открытым Rust-проектом в честно купленной IDE CLion под Ксубунтой 20.04.

На стене за ним — обычный IPS-монитор Iiyama ProLite 42". Используется в тех случаях, когда нужно видео и цвет.

Слева направо на столе:

  • Книга Onyx Boox Note 10" для технической и художественной литературы (Android 6)
  • Книга Kobo Aura One 7.8" для художественной литературы (Linux, кажется, на 4-м ядре)
  • Смартфон Hisense A5 (Android 9)
  • Книга Onyx Boox Max Carta 13.3" для технической литературы (Android 4)

Выдалось время, изучаю для общего развития Haskell.

>>> Просмотр (4160x3120, 1777 Kb)

 , eink,

hbee
()

Гайка собирает Emacs

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

Рисунок был нарисован на бумаге карандашом. Потом отсканированный и разукрашенный в gimp'е.

Новичку-линуксоиду надоела политика microsoft в windows 10 по шпионажу. Он решил попробовать установить один из дистрибутивов Гну/Линукс. И он захотел собрать первую в жизни программу из исходного кода, но программы не как не собирались. Повозившись весь день, он под ночь лёг спать. И о этом узнали спасатели. Тогда Гайка пришла ему на помощь и собрала ему программу пока он спал.

cc-by-sa

>>> Просмотр (2338x1700, 1871 Kb)

 , , , ,

gtk3
()

Домашний сервер

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

Не знаю будет ли интересно благородным донам, но вот мой домашний сервер!

Машина на базе одноплатного компьютера raspberry pi zero с дистрибутивом raspbian. Машина большую часть своего времени занята воспроизведением losless аудио и онлайн-радио, о чем говорит специально заточенная под это панель. За звук отвечает могучий i2c ЦАП. VU-метр в центре пока в процессе допиливания ибо alsa странно себя ведет.

Кроме музыки, этот когитатор качает характерные торренты и перебрасывает фильмы к телевизору. Так же, но пока лениво, на аппарат завязывается умный дом посредством сервера mqtt. С помощью навыков Алисы на Яндекс-колонке управляются несколько устройств.

Все конструктивные узлы корпуса начерчены в православном cl-cad и вырезаны лазером у рекламщиков. Дизайн устройства вдохновлен рандомным мэном из интернета.

А теперь важный вопрос к дочитавшим: есть ли какая программа в линуксе или андроиде для ведения учета коллекции компакт-дисков и винилов? К примеру чтобы собрался я купить диск мотли-крю и мог бы удобно и быстро есть ли у меня такой альбом в домашней коллекции? Так же предупреждая вопрос «А DSD файлы слушаешь?» отвечаю, у зеро-малинки не хватает ресурсов на такой формат чтобы играть его без заиканий))))

>>> Просмотр (5069x2811, 593 Kb)

 , , ,

bioreactor
()

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
()

Монохромный монитор на самоизоляции

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

Так как на карантине появилось больше времени для домашних занятий, я решил провести своё свободное время с особенной пользой и прикрутить совершенно бесполезный монитор от IBM Displaywriter к моему компьютеру. Сам этот Displaywriter — штука довольно странная, на сколько я понимаю всего лишь даёт возможность работать с текстом, то есть это даже не PC. Но вот монитор они взяли как раз от PC, а именно монохромную версию, IBM 5151; правда эти гении из IBM подумали, что нехай иметь отдельный кабель для питания и для видеосигнала, и запихнули всё это в одну вилку. Ну хоть разъём поменяли — и на том спасибо, а так бы кто-нибудь обязательно на землю 12 В подал.

Надо сказать, что в восьмидесятые годы видео-стандартов было не меньше теперешнего, но стандарт для Displaywriter можно сказать вообще не стандарт — я не нашёл никакого упоминания о DB-15 для видео, которое бы содержало внутри питание для монитора.

По счастию мне удалось найти схему распиновки для этого монитора, и о чудо — питание нужно было только +5 и +12 В, которые без зазрения совести можно позаимствовать прямо с материнской платы почти любого компьютера. При этом для передачи самого видеосигнала использовалось четыре пина: сигналы для вертикальной и горизонтальной синхронизации, интенсивность и дополнительная яркость — такие же, как и на вполне стандартном для своего времени монохромного монитора от персонального компьютера, который поддерживали почти все видео-карты начала-середины восьмидесятых, в том числе и моя ATI Graphics Solutions rev. 3, найденная в мусорном баке университета. Оставалось только спаять переходник и конфигурировать видео-карту. На удивление на пайку у меня ушло гораздо меньше времени, чем программирование, а всё потому, что BIOS моего компьютера не мог правильно инициализировать видео-контроллер, и поэтому мне пришлось написать свою собственную программу на ассемблере (которая, будем честными, была лишь вольным пересказом BIOS от IBM PC XT, исходники которого были опубликованы в «Руководстве пользователя»).

После того, как наконец-то появился первый долгожданный символ на экране, наступило некоторое разочарование — первые два столбца неизбежно «съедались» при отрисовке, а это означало, что надо было лезть внутрь монитора и настраивать положение луча электронов внутри трубки. Ну а так как ЭЛТ есть довольно большой конденсатор, который даже после выключения может быть заряжен до каких-то немыслимых киловольт, то настройка включённого монитора была попросту невозможна, а посему сия процедура заняла у меня четыре итерации с разбором и сбором монитора. Но в конце-концов фаза луча была выставлена верно, и прекрасный зелёный текст теперь радует мои глаза.

Теперь наверное нужно спаять более солидный провод, и добавить конденсатор, чтобы убрать помехи от пятидесяти герц (особенно заметна работа холодильника), думаю в обозримом будущем я это сделаю. Но принципиально telnet на моём IBM PS/2 Model 30 286 работает, к ноутбуку с арчем цепляется.

Собственно, на фотографии всё разнообразие техники у меня дома и представлено: помимо уже упомянутого ретро-компа здесь вы увидите так же казённый iPad, который используется как записная книжка; главная машинка — ThinkPad X220 с подключённым по VGA монитором от DELL, найденном на той же университетской помойке; плюс какой-то дешманский виниловый проигрыватель и цифровая пианина CELVANO, подаренная мне местным церковным органистом.

Видосик про то, как я логинюсь на кластер, чтобы проверить запущенные задачи, можно посмотреть на ютубчике: https://www.youtube.com/watch?v=m4pjEwnDWcE

Ну и в конце некоторый TODO list: хочу исправить на PS/2 батарейку (она вшита внутрь чипа, но есть мануалы как её можно «заменить»), потом надо будет наверное заняться дискетами, просто чтобы было наверное, ибо CF-IDE справляется со своей работой очень хорошо. Можно потихоньку писать эмулятор терминала, чтобы использовать фичи защищённого режима, но пока эта задачка отложена на неопределённый срок.

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

 , cern root, displaywriter, ,

luke
()

Добро пожаловать в Сити 17!

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

Так получилось, что на днях мне наконец доставили Valve Index, предзаказанный ещё в начале марта. Как раз к выходу нативной линуксовой версии Half-Life: Alyx!

Решил тут кратко описать впечатления от железа и софта, на случай если кого-то интересует насколько все эти VRные дела сейчас юзабельны под линуксом. До этого опыта с VR у меня не было вообще.

( читать дальше... )

>>> Просмотр (1920x2520, 4327 Kb)

 , , ,

im-0
()