Спасибо за ответный пост. Если убрать эмоциональную составляющую, то суть проекта вы уловили верно. Только небольшая корректировка теперь уже для вашей технички:
Debian 13 лежит в основе, а не на самом верху. Именно так, если грубо прикинуть, выглядит стек (сверху вниз):
- ReactOS userland
- Wine
- Xorg / Openbox
- Debian 13
Что касается альфы, то чисто технически вы все что угодно можете назвать альфой, что еще не до конца реализовано. Возможно, вы перепутали это с бетой, когда функционал уже полностью завершен, но остаются критические и не очень баги. Да, вы ожидали увидеть, что здесь будет заявлена поддержка игр, но она здесь не оказалась. Это досадно. Но, как говорится, ваши ожидания -- ваши проблемы.
Дальше ответить не могу, т. к. не совсем понял нападок на CDMAG. Могу лишь сказать, что это обычный технический журнал, аудитория которого сформировалась за год до первой альфы CusDeb OS. Писать там, как мы фиксим баги в CusDeb OS, я не собираюсь.
Разработчики CusDeb OS решили величайшую дилемму современности: «Как запускать Windows-программы, не устанавливая Windows?» Ответ оказался гениально прост — взять ReactOS, засунуть его в Wine, а сверху накрыть Debian. Это как построить дом из пенопласта, обклеить его обоями «под кирпич» и гордо назвать «кирпичным коттеджем».
Особенно умиляет раздел README, где среди функций значится «Direct3D 3–11 поддержка (запланировано после альфа-релизов)». То есть сейчас у вас не то что игры не пойдут — у вас и альфы-то толком нет. Зато в описании уже красуется «бесшовная поддержка Windows-приложений». Бесшовная, как шов на колготках после первого надевания.
Отдельный респект за амбицию: проект на стадии «альфа 1» (вышел вчера, если верить коммитам) обещает за год стать «полноценной альтернативой Windows 10». Ребята, вы хотя бы до состояния «альтернатива Windows 98» доживите — и то праздник будет.
А самое трогательное — это позиционирование: «для тех, чьи привычки сформировались до Windows 11». Видимо, целевая аудитория — это люди, которые до сих пор считают, что «Пуск» должен быть слева, а синий экран смерти — это фича, а не баг. Ностальгия — штука сильная, но не настолько, чтобы терпеть систему, где 32-битная оболочка ReactOS эмулируется через Wine в 64-битном Linux. Это не «Windows-like», это «Windows-сюрреализм».
И финальный штрих: в разделе «Donate» написано, что лучший способ поддержать проект — подписаться на технический журнал CDMAG. То есть вместо того чтобы чинить баги, вам предлагают почитать, как их, возможно, когда-нибудь починят. Гениальный маркетинг.
Вердикт: CusDeb OS — это как веганский бургер, который выглядит как мясной, пахнет как мясной, но на вкус — соя с красителем. Идея благородная, исполнение — сырое, а обещания — как у политика перед выборами. Ставить на виртуалку ради смеха — можно. Ставить на основной компьютер — только если вы ненавидите себя и свой хард.
P.S. Если серьёзно — ребятам действительно стоит удачи. Но пока это скорее «CusDeb OS: The Concept», чем «CusDeb OS: The Product».
Как по мне мы живём в другое время. Время когда ИИ может запилить замену быстрее чем мы будем возиться с эмуляторами. Уже сейчас есть проект https://github.com/storytold на гитхабе, который переписал на rust почти все популярные программы от adobe (включая photocraft вместо photoshop и lightcraft вместо lightroom), замахнулся на офис от мелкомягких (WordCraft с gridcraft (вместо excel)). Да, большинство проектов в альфа-версии, но они уже юзабельны и им можно простить баги т.к. они: - опенсорс (бесплатны и с открытым исходным кодом) - есть под windows и linux (то есть не нужны дополнительные эмуляторы)
Если подобных энтузиастов будет больше то надобность в эмуляции windows отпадёт в принципе.
И да, принцип Парето работает и здесь. 80% пользователей достаточно будет 20% функций конечного продукта. Клиенту пофиг на остальное, знакомый интерфейс и поведение решают.
CusDeb OS — это Win32/Linux-система или, другими словами, новая Windows-подобная операционная система на базе ядра Linux с полноценным Win32-окружением поверх него. Она является своего рода неофициальным экспериментом по разработке Windows на ядре Linux, но также ставит перед собой более практическую и, главное, благородную цель — за год довести до ума систему, которая могла бы предложить достойную альтернативу Windows 10, поддержка которой заканчивается 12 октября 2027 года. По некоторым данным, Microsoft продлила поддержку 10-ки, т.к. пользователи не спешат мигрировать на 11, но окончание поддержки, скорее всего, создаст давление. Таким образом, цель CusDeb OS — предоставить выбор.
Для достижения этой цели CusDeb OS предлагает классический десктоп, напоминающий эпоху до Windows 11, с возможностью бесшовного запуска как Windows-, так и Linux-приложений. И все это без рекламы и навязывания AI- и других сервисов от Microsoft.
Linux vs.and Windows
10 лет назад Microsoft выкатила первую версию WSL для того, чтобы подружить два мира и уменьшить отток пользователей со своей операционной системы на Unix-подобные десктопные альтернативы, в частности Linux-системы. Таким образом, у пользователей Windows появилась официально поддерживаемая возможность запуска Linux-приложений в привычном окружении. Начиная с версии 2, в WSL это достигается за счет запуска ядра Linux внутри легковесной виртуальной машины на базе Hyper-V.
CusDeb OS тоже ставит перед собой задачу подружить два мира, но делает это кардинально другим образом. Вместо запуска Linux внутри Windows система предлагает полноценное Win32-окружение поверх ядра Linux. При этом Windows-приложения здесь считаются гражданами первого сорта, а Linux-приложения могут запускаться с ними бок о бок. Это становится возможным благодаря тесной интеграции Wine в систему.
Кстати, первая версия WSL, выпущенная в августе 2016 года, в своей работе напоминала именно Wine, который реализует Win32 API и транслирует вызовы Windows API в их Unix-эквиваленты на лету в пространстве пользователя, а WSL 1 занимался тем же самым, но наоборот и на уровне ядра. Таким образом, WSL 1 не использовал оригинальный Linux, но начиная со второй версии WSL перешел к запуску Linux-приложений с помощью реального ядра Linux.
Wine
CusDeb OS не может пойти путем WSL 2 и гонять ядро Windows NT в виртуальной машине, — закрытая природа Windows этому успешно препятствует. Поэтому CusDeb OS использует обкатанную прослойку совместимости с Windows-приложениями в пространстве пользователя. Благо Wine за последние 10 лет сильно скакнул в развитии благодаря своим спонсорам в лице CodeWeavers и Valve. Конечно каждый день там делается сильный упор на поддержку игр, но команда CusDeb допиливает Wine для нужд OS в десктопных областях: во взаимодействии с композитным и оконным менеджерами и во многом другом.
CDEX
Это окружение рабочего стола, которое реализует классический десктоп на современных технологиях и разрабатывается как часть CusDeb OS. CDEX копирует ранний Windows — что-то между XP и 7 — и потому прямо на старте кажется хорошо знакомым любому Windows-пользователю, который начинал свой путь в начале 2000-х или обнаружил для себя, что 2000-е были золотой эпохой десктопа.
Название CDEX (CusDeb Desktop Environment X) является оммажем CDE (Common Desktop Environment), которое многие годы было окружением рабочего стола по дефолту в Solaris, HP-UX, IBM AIX, Digital UNIX и UnixWare.
CDEX основан на коде ReactOS — свободной и открытой реализации ядра Windows NT с десктопом. По сути, на данный момент CDEX является слегка модифицированной версией юзерленда ReactOS, адаптированной к работе без ядра ReactOS.
Стоит также отдельно акцентировать внимание на том, что CDEX — это полностью Win32-окружение, которое запускается и работает через Wine. Оно содержит базовые возможности типа рабочего стола, файлового менеджера, панели задач, а также многое другое. Что касается всех интерфейсов для установки и удаления Windows-приложений, то они также на месте. Еще не будет лишним упомянуть, что на панели задач на равных отображаются как Windows-, так и Linux-приложения.
Вместо заключения
CusDeb OS находится на стадии альфа-тестирования и на данный момент предлагает уже очень много: это полноценная live-система, которую можно погонять на виртуальной или реальной машине без установки, оценив ее основные возможности. Если система понравится настолько, что вы захотите ее установить, то такая опция тоже есть. Но помните, что это пока альфа и многие функции еще не реализованы, а те, что реализованы, могут вести себя нестабильно. Тем не менее, наша команда будет рада вашим баг-репортам, которые вы можете оставлять здесь. Амбициозная цель — альтернатива Windows 10 за год — может быть достигнута во многом благодаря тщательному тестированию.
Спойлер: Вы тоже можете купить такой одноплатник за 800 рублей, благо на барахолках их навалом. Ну а как их починить и превратить во что-то полезное, я расскажу в рамках сегодняшней статьи!
По правде сказать, я огромный фанат купить что-то очень дешевое и нерабочее, чтобы затем найти новое применение железу со свалки. Недавно я изучал Авито и наткнулся на тонкие клиенты Dell Wyse 3040 по 800 рублей с нерабочими eMMC. Казалось бы, тонких клиентов на вторичке навалом — но у этого был 4х-ядерный процессор от Intel, неплохой GPU с поддержкой DirectX11, 2 гигабайта оперативной памяти и целых 4 слота под USB. Надо брать!
В этой статье всё как вы любите: диагностика, изучение схемотехники, перекатка и замена флэшки в BGA-корпусе, попытки впихнуть невпихуемое и очень изощренные способы загрузить Linux. Интересно? Тогда жду вас под катом!
❯ Предисловие
Недавно я мониторил барахолки на предмет каких-то необычных ретро гаджетов по типу телефонов, ноутбуков и минипк. В основном они мне интересны из-за возможности погонять на них ретро-игры, запустить экзотические ОС или просто для тестирования демок своих игр, которые я пишу в рамках отдельной серии статей. Неделю назад в моих рекомендациях всплыл некий Dell Wyse 3040: тонкий клиент на 4х-ядерном Intel Atom z8350, который из коробки работает на собственной операционке ThinOS.
В объявлении указана цена за полностью рабочий и укомплектованный компьютер — это не мой случай :)
По сути, это обычный x86 мини-компьютер, который вместо ноутбучного Celeron/Pentium использует планшетный Intel Atom на платформе Cherry Trail: такие Atom'ы можно было найти в дешевых Wintel-планшетах типа Irbis TW85, а также ноутбуках в категории «до 15.000 рублей» в 2015-2020 годах. У большинства таких гаджетов была одна критическая болячка: в качестве накопителя они использовали чипы памяти eMMC из смартфонов, а поскольку ресурс таких флэшек значительно ниже оных в обычных SSD-накопителях, они выходили из строя всего через 2-3 года активного использования. Wyse 3040 тоже использовал eMMC в качестве SSD, из-за чего сотни, если не тысячи экземпляров дожили до наших дней рабочими лишь частично и пошли под списание. Как раз именно такой списанный экземпляр я и решил купить всего за 870 рублей.
Конечно я немного лукавлю насчет "одной единственной болячки". У тех же Irbis'ов летело всё: USB-OTG хост, контроллеры питания, тачскрины, биосы... в общем, это было то ещё удовольствие.
Мой красавец
Когда я получил девайс, он сразу же меня впечатлил: мало того что размером с мою ладошку (как и eBox, о котором я рассказывал в рамках прошлой статьи), так ещё и с полностью пассивным охлаждением, питанием от 5В/2А и целой кучей интерфейсных разъемов. На передней панели расположилась кнопка питания, один порт USB 3.0, один USB 2.0, а также 3.5мм джек для подключения наушников.
В то время как на задней целых два DisplayPort'а, ещё два USB и Ethernet. Существовало несколько разных версий 3040'ого: в базовой из коммуникаций есть только RJ-45 и накопитель объёмом в 8ГБ, а в продвинутой добавили ещё и Wi-Fi/Bluetoth модуль и увеличили объём накопителя аж до 16ГБ. В мои руки попала как раз базовая версия.
После получения, я пришёл домой, подключил компьютер и... увидел сообщение «No bootable devices found". В UEFI-прошивке Dell'ов есть режим самодиагностики, который честно сказал, что не может ничего прочитать с eMMC — а значит она не просто ушла в режим «только для чтения», а вообще полностью посыпалась. Неужто там стоят легендарные чипы от Samsung, которые в своё время досрочно унесли с собой Galaxy S4, S4 Mini, S4 Zoom, S3, Tab 3...
О косячных флэшках Samsung я недавно писал большую статью с практическим восстановлением редчайшей консоли-смартфона на Android. Ссылка в комментариях :)
❯ Разбираем и изучаем
Теперь отремонтировать наш минипк можно только заменив чип памяти на новый, благо сделать это не особо сложно. Для этого сначала нужно разобрать компьютер, что называется, голыми руками — отщелкиваем нижнюю часть корпуса с клипс и разбираем "бутерброд":
После чего перед нами открывается следующая картина:
В глаза сразу бросаются два чипа оперативной памяти типа DDR3 объёмом по 512МБ каждый, LAN-трансформатор, LDO для питания LAN-контроллера и слот M2... казалось бы, можно ставить самый дешевый SATA SSD с «алика» и заканчивать статью, но у этого слота нет ни PCI-E, ни SATA линий — на него выведена шина SDIO для подключения Wi-Fi/BT модуля в старших версиях.
С фронтальной стороны платы нас встречает относительно небольшая система охлаждения, состоящая из радиатора, который отводит тепло и с процессора, и с контроллера питания, и с памяти. TDP у процессора крошечный — всего ~2Вт, поэтому активное охлаждение ему не нужно совсем (а вот его температуры под нагрузкой мы узнаем чуть позже).
Под радиатором скрывается кастомный контроллер питания Texas Instruments SND9039A2, разработанный специально для Cherry Trail. Эти КП используются во всех устройствах на этой платформе, что потенциально несколько усложняет ремонт — те же Bay Trail'ы нередко использовали куда более распространенные и задокументированные КП от AXP.
Дроссель рядом с КП отвечает за единственную фазу питания VCore
КП формирует 6 основных шин питания из шины 5V: 1.15V, 1.25V и 1.05V для питания процессора, 1.35V для питания DDR3 в режиме LV, ещё одна 1.15V для питания видеочипа и 1.8V для общения с периферией. Помимо основных шести DC-DC преобразователей, в КП также есть аж 14 LDO, которые формируют периферийные шины по типу VRTC (дежурка и часы реального времени), 3.3V и 1.2V. За основную шину питания — т.е 5V отвечает другой чип — NCP81231, так что если компьютер не включается — смотрите в первую очередь в его сторону.
В центре платы расположилось сердце устройства — тот самый процессор Atom Z8350, представленный в феврале 2016 года. Концептуально это система на кристалле — по сути весь компьютер выполнен в виде одного крошечного чипа, выполненного по техпроцессу 14нм. Внутри него скрываются:
4 ядра на архитектуре Airmont, способные работать на частоте от 1.4ГГц до 1.9ГГц в турбобусте и имеющие 2МБ общего L2-кэша. Кроме того, ядра поддерживают HyperThreading и являются прямыми наследниками ядер Silvermont, используемых в смартфонах Asus ZenFone и планшетах Asus FonePad. Так что да, чисто технически — этот процессор близкий родственник смартфонных чипов :)
GPU Intel HD Graphics 400, способный работать на частоте до 500МГц и имеющий всего 12 унифицированных шейдеров (даже в GeForce GT710 было 192 унифицированных шейдера, в i3 6100 — 24). Тем не менее, HD Graphics 400 вполне тянет игры из начала нулевых, имеет целых два DisplayPort'а и поддержку DSI-матриц планшетов, умеет декодировать 4K видео и поддерживает DirectX 11.2.
Встроенный контроллер оперативной памяти типа DDR3, плюс контроллер eMMC для накопителя. Интересно то, что SATA в нём вообще не было — что ещё раз подтверждает родство с смартфонными процессорами.
Из внешних шин есть PCI-Express 2.0 1x (да, всего одна дифпара на всю систему), UART, SPI, I2C и SDIO. За звук отвечает I2S контроллер, а за общение с параллельной периферией отдельный GPIO-контроллер.
И всё это с TDP всего в 2Вт!
Круто, да? Рядом с процессором расположились ещё два банка ОЗУ по 512МБ каждый, в сумме дающий нам 2ГБ памяти. В теории объём можно расширить и до 4ГБ, однако это потребует патч SPD-таблицы в UEFI, ведь отдельной SPD EEPROM-ки тут нет. Помимо этого, около процессора можно заметить гигабитный Ethernet-контроллер Realtek RTL8111H, подключенный через единственную дифференциальную пару PCI-Express в процессоре, и аудиоконтроллер ALC5672 от всё той же Realtek.
А ещё чуть ниже можно увидеть SPI-флэшку с прошивкой UEFI — MXIC 25U12873F, рядом с виновником торжества — eMMC-флэшкой HynixH26M41204HPR объёмом в 8ГБ. И именно её нам сейчас предстоит заменить.
Ремонт
Как и во многих других устройствах, в Wyse 3040 используются флэшки в корпусе BGA153. Этот корпус пережил уже целых 3 поколения памяти: сначала в него упаковывали eNAND, затем eMMC, а сейчас во всю используют для UFS. У этого корпуса есть совместимый брат — BGA169, который отличается дополнительными пинами по бокам. Существуют два вида таких чипов:
Собственно сам чип-памяти eMMC, который состоит только из NAND-памяти.
И eMCP, который состоит из бутерброда флэш-память + оперативная память. Такой тип активно использовался в смартфонах и планшетах.
Оба этих типа частично взаимозаменяемы между собой — можно без проблем поставить eMCP в устройство с обычной eMMC на борту (просто пины оперативной памяти подключены не будут), однако обратное делать уже нельзя, иначе устройство останется без оперативной памяти. Перед заменой eMMC, старый чип необходимо выпаять, предварительно намазав под пузо флюс. Я использую AMAOE M53:
Никакого компаунда здесь нет, а плата хоть и толстая, но не особо теплоемкая — так что eMMC легко отлетает за минуту прогрева при 320 градусахна среднем потоке воздуха и без нижнего подогрева.
Плата маленькая, благодаря чему её не «ведёт» при длительном прогреве без нижнего подогрева.
Когда чип начал покачиваться от легкого прикосновения отвертки, осторожно поддеваем его специальным скальпелем и откидываем в ту сторону, где меньше всего обвязки. Но если он слишком упорно сопротивляется — лучше погреть его подольше, иначе есть шанс оторвать пятаки:
Эта гифка — лишь иллюстрация. Никогда не снимайте чип убрав фен, шанс оторвать пятаки крайне высок.
Далее зачищаем посадочную площадку оплеткой или просто паяльником, проверяем все ли пятаки на месте и отмываем площадку от флюса. На некоторых устройствах, например большинстве смартфонов от Samsung, NC-пятаки (никуда не подключенные пустышки) стабильно отлетают из-за сомнительного качества самих плат, так что если NC отлетели — ничего страшного. Должно быть вот так красиво:
Поискав в запасах чипы BGA153, я нашел два одинаковых SanDisk'а по 8ГБ, один из которых я сдул с убитой платы планшета, а также BGA169 чип от Toshiba на 32ГБ с Nokia N8. Чип от N8 я припаять нормально не смог из-за того что он слишком большой для этой площадки, а вот SanDisk'и залетели на плату на ура.
Слева родной чип памяти
Поскольку чипы долго лежали в коробочке без вакуума, ставить их прям так рискованно — есть шанс что на шариках припоя уже образовались окислы, что может нарушить контакт в будущем. Поэтому снимаем старые шары паяльником, центрируем чип в трафарете и не перебарщивая наносим паяльную пасту, не забывая убрать излишки лопаткой. Я использую премиум пасту Mechanic XG50 и всем рекомендую :)
Далее оплавляем припой при температуре ~290-300 градусов. Если сильно переборщить — флюс испарится быстрее, чем припой начнет оплавляться и шары повылетают. Если поставить меньше — шары будут дольше оплавляться. С нагревом чипов памяти нужно быть осторожным — даже eMMC боится перегрева, не говоря уже об очень хрупких UFS, которые снимать нужно обязательно на нижнем подогреве.
Далее капаем немного флюса на посадочную площадку:
И припаиваем чип к плате. Даже если он где-то встал неровно, поверхностное натяжение поставит чип на место, а если его всё таки сдует чуть дальше, чем он должен быть — можно его осторожно поправить скальпелем.
И вот, чип наконец-то установлен! Но, как в известном анекдоте, есть нюанс...
❯ Ставим ОС
После включения, EFI всё также жаловался на отсутствие устройств, с которых можно загрузиться. Однако селф-тест теперь сразу вылетал с ошибкой «Short eMMC read test unsuccessful», что надвинуло меня на мысль о том, что инициализации не происходит.
Я перекатал несколько разных чипов еще 5 раз и эффект изменился только с чипом от Samsung на 4ГБ. И вот тут то я понял: а что, если только UEFI не видит eMMC из-за несовместимости бутпротокола в extCSD? Ведь на схеме не просто так указаны страпы для выбора ревизии памяти. И точно — флэшка Samsung заработала тут нормально. После этого я решил загрузить Linux с USB и проверить /dev/ — и eMMC там определился за счет собственного драйвера для Cherry Trail!
Что такое ExtCSD?
Это специальный конфигурационный регистр в eMMC, который отвечает за управление размером аппаратных разделов Boot, а также протоколом загрузки. Дело в том, что не у всех устройств первичный загрузчик может сам проинициализировать флэшку и загрузить оттуда SPL, некоторые чипы заранее настраивают протокол загрузки в этом регистре и затем побайтно считывают загрузчик с помощью специального механизма. Если ExtCSD настроен неправильно - то устройство просто окирпичится. Касается это Tegra и Atom :)
Далее я поставил обратно чип от SanDisk, загрузился в Puppy и увидел что система запустила проверку разделов с файловой системой ext, что уже очень хороший знак — флэшка успешно инициализируется и читается системой. На этом этапе чип можно пропатчить с помощью специальной утилиты, но дампа extCSD оригинальной флэшки у меня нет :(
В качестве системы, я решил выбрать Debian 12 Bookworm — она не слишком старая и не слишком тяжелая, особенно с рабочим столом Xfce. Установщик сразу увидел eMMC, которую теперь необходимо переразметить — сейчас там остатки Android от планшета, из которого этот чип выпаяли.
После установки компьютер перезагрузился... но вы же не думаете, что всё было так просто? Он снова не увидел eMMC. Дело в том, что в Wyse 3040 кривой UEFI, который не учитывает путь до загрузчика из NVRAM и грузит только стандартный BOOTX64.EFI. Я скопировал его из папки EFI/debian/ в EFI/boot/
И даже после этого UEFI его не увидел, а значит моя теория с тем, что EFI привередлив к ExtCSD флэшки — верна. Поэтому я решил сделать финт ушами и записать на маленькую USB-флэшку только ядро и initrd, перенаправив root на eMMC. Для этого монтируем флэшку и копируем initrd из под Rescue-режима Debian:
mkdir -p /emmc/ mount -o remount,rw /cdrom/ mount -t /dev/mmcblk0p2 /emmc/ cp /emmc/initrd.img /cdrom/
Патчим grub.cfg так, чтобы он указывал на initrd и ядро на флэшке:
menuentry --hotkey=g 'Boot' { set background_color=black linux /install.amd/vmlinuz vga=788 root=/dev/mmcblk0p2 --- initrd /initrd.img }
И загружаемся с флэшки. Как итог — система пошла грузиться и уже через минуту я увидел окно входа LightDM.
Теперь компьютером можно полноценно пользоваться. Debian сразу подцепил все необходимые драйвера, в том числе и для GPU — так что даже аппаратное ускорение интерфейса присутствует. Конечно 2ГБ памяти для современного ПК очень мало, но тем не менее, 4х-ядерный Atom ещё кое-что может!
Например, можно с некоторыми лагами серфить современный интернет. Я спокойно зашел на свой профиль на Хабре дабы поностальгировать со статей 2023 года. И мне это удалось сделать, даже скроллинг почти не тормозит.
Драйвера Mesa также подтянулись сами, благодаря чему работает WebGL. Помимо 3D, также есть аппаратное ускорение видео, благодаря чему из такого минипк можно сделать мультимедийный центр.
А ещё этот малыш даже игры тянет! В OpenArena мы получаем 40-60 кадров на большинстве локаций в 800x600... результат конечно не супер крутой (все таки это игра на базе движка Quake 3), но тем не менее в TuxRacer или эмуляторы ретро-консолей поиграть можно :)
При максимальной нагрузке, процессор едва греется до 55 градусов — так что температурный режим у него максимально безопасный и думаю он никогда не начнет троттлить и не выдаст низкий уровень на пин PROCHOT при своевременном обслуживании :)
Что такое PROCHOT?
Это специальный сигнал на всех процессорах Intel, который сигнализирует о перегреве самого процессора или зоны VRM.
Ради интереса, я погонял его в бенчмарке sysbench cpu, где он набрал 1476 попугаев. Это результат примерно в два раза хуже чем у Core 2 Quad Extreme Q9300 и в полтора раза хуже чем у Pentium G4400. Для планшетного процессора результат отличный, Intel N95 с гордостью перенял эстафету экономичного, но достаточно шустрого процессора :)
Учитывая неплохую производительность и минимальное энергопотребление, вас наверняка может заинтересовать перспектива использования этого минипк в качестве SBC. И он вполне для этого годится! На плате есть пятаки для отладочного порта, где выведено сразу несколько шин I2C, UART и JTAG. К I2C можно «достучаться» с помощью i2c_dev, а к UART'у через обычный ttyS.
Более того, путем небольших вмешательств в плату можно взять линии PCI-Express с сетевого контроллера для подключения внешней видеокарты или накопителя, а питание для внешних дисплеев и прочей периферии можно попробовать взять прямо из шин питания компьютера. Например 3.3v можно взять от LDO, который формирует IO-питание LAN-контроллера — у него запас аж 3А, так что хватит с головой :)
Так что лично я считаю, что Wyse 3040 — прекрасная альтернатива Raspberry Pi 2/3 и OrangePi Zero/PC, которые сейчас можно найти на авито по схожей цене, а иногда даже и выше. А вы?
❯ Заключение
Вот такой интересный компьютер я купил всего за 800 рублей. Пару часов времени, немного паяльной пасты, трафарет и фен — и вот компьютер по цене пиццы уже работает и радует меня как маленький домашний сервер с минимальным потреблением. И ведь таких экземпляров на вторичке сотни, и каждый из них можно использовать для организации медиацентра, мини-NAS, сервера или, если очень постараться, и накатить Windows, даже машинки для ретро-игр. А что думаете вы? Какие применения могут быть у такого 4х-ядерного компьютера? Пишите свое мнение в комментариях!
Весь вечер, мой рабочий стол выглядел так :)
В качестве тестовых машин, мне было бы интересно пощупать что‑то ещё из семейства Nvidia ION/Radeon Xpress Graphics/VIA Chrome9 HC/Trident Blade. Если у кого‑то есть всякие интересные тонкие клиенты или ноутбуки на прикольном железе, или что‑то AMD'шное времен 939/462 — пишите в ЛС, обязательно сделаю контент!
Олды блога могут вспомнить мою демку про самолетики. Возможно скоро будет статья про куда более крутую игру для ретро компьютеров и возможно даже PSP и PS2!
Ну а я надеюсь, что вам было интересно. Подписывайтесь на блог, чтобы не пропускать новые статьи каждую неделю! А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram‑канал «Клуб фанатов балдежа„, куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.“»
А если вы хотите что‑нибудь подарить из железа и увидеть о нём статью — пишите мне в Telegram. Меня очень интересуют самые разные гаджеты: начиная от игровых консолей и любых связанных с геймингом устройств, телефонов, смартфонов, КПК, заканчивая ретро‑компьютерами и ноутбуками. Кто знает, может героем следующейподобной статьи окажется ноутбук из 90-х?:‑)
Особенно сильно я люблю ковыряться в ноутбуках из начала 90-х. Источник
После обзоров устройства не продаются, а остаются в моей коллекции. Когда‑нибудь я хочу сделать музей, где к каждому устройству можно будет приложить QR и почитать мою статью. Кто знает, вдруг на следующей неделе я также подробно расскажу про девайс из вашей юности?:)
Кстати, у меня есть GameBoy Advance SP, под который я очень хочу написать игру. Однако мой экземпляр был залит водой и кофе. Может у кого‑то есть донор с дохлой платой, откуда я смог бы взять контроллер питания? У меня AGS-101.
Дело было вечером, делать было нечего. На авито увидел тонкий клиент Dell Wyse 3040 всего за 800 рублей. Машинка интересная - 4х-ядерный Atom, 2ГБ ОЗУ с потенциалом расширения до 4-х, eMMC в качестве SSD... казалось бы - шикарно
Но как и в одном бородатом анекдоте, есть нюанс. За такую цену эти минипк продают с отвальной eMMC, которая и без того здесь скромного объема - всего 8ГБ.
Комп был препарирован, eMMC успешно заменена, накатан Debian и теперь машинка выполняет роль домашнего сервера с пусть небыстрым, но все таки SSD😎
Как думаете, 800 рублей и 3 часа времени - дорого за комп с 4 ядрами, неплохим GPU Intel HD Graphics, 2ГБ DDR3 памяти и гигабитной сетью?
Для ЛЛ: По причине отсутствия денег Европейская организация по ядерным исследованиям (в других переводах ЦЕРН (от фр. Conseil Européen pour la Recherche Nucléaire, CERN) переходит с одного Linux на другой.
Инженеры CERN рассматривали переход на CentOS Stream как более естественный вариант, однако, по их словам, «последней каплей», заставившей отказаться от Red Hat Enterprise Linux на промышленных компьютерах, управляющих ускорителями, стало использование флага компилятора `-march=x86-64-v2` по умолчанию, что было воспринято как «принудительное устаревание» старого оборудования.
Одной из проблем, с которыми они столкнулись в процессе перехода на Debian, стало отсутствие стандартных инструментов для автоматизированной сборки и публикации пакетов — в официальном инструментарии обнаружилось немало пробелов. Кроме того, существует ряд инструментов, не поддерживающих одновременное использование нескольких версий одних и тех же пакетов.
CERN планирует к концу 2026 года перевести все свои промышленные компьютеры и встраиваемые системы (их насчитывается более 2200) на Debian 13. Желающие узнать больше могут посмотреть видеопрезентацию (в формате AV1 WebM) с конференции MiniDebConf.
CERN engineers had considered moving to CentOS Stream as a more natural pathway but ultimately they say "the straw that broke the camel's back" to abandon Red Hat Enterprise Linux for their industrial accelerator-control computers was the "-march=x86-64-v2" compiler flag default as "forced obsolescence" for old hardware.
Among the challenges they have faced though in their Debian on-boarding is the lack of standard tooling for automated building and publishing of packages - a lot of gaps in the official tooling. There are also a number of tools not supporting multiple versions of the same packages.
CERN is planning by the end of 2026 to have all 2,200+ of their industrial computers and embedded systems running Debian 13. Those wishing to learn more can see this video presentation (AV1 WebM) from the MiniDebConf.
Заключение
Денег нет на смену железа, держатся как могут. Оказывается, нормальный Linux (RHEL) это дорого, а в бесплатном нет инструментария.
Настройка VPS Ubuntu и Debian проверяется простой перезагрузкой. Сайт открылся на новом сервере, а после перезагрузки перестал отвечать, ведь веб-сервер не был добавлен в автозапуск. Проверка после каждого шага настройки помогает обнаружить такую ошибку до того, как сервер понадобится в работе.
Статья рассчитана на новый VPS с Ubuntu 24.04 LTS или Debian 13. На нём будет работать веб-сервер Nginx. Нужен чистый образ без панели управления, Docker и своих сетевых правил.
Какие пакеты установить в первую очередь на Ubuntu или Debian VPS?
Для первоначальной настройки хватит SSH-сервера, sudo для работы администратора, ca-certificates для проверки сертификатов и curl для проверки веб-сервиса. Сетевой экран UFW пригодится, если правила доступа ещё не настроены другим инструментом. Состав образа у провайдеров различается, поэтому часть этих пакетов может уже стоять.
Как выбрать образ под свою задачу
До заказа VPS стоит проверить в документации приложения, какие выпуски ОС и архитектуры оно поддерживает. Готовые программы для amd64 и arm64 различаются, поэтому нужен вариант под процессор вашего сервера.
Ubuntu 24.04 LTS получает стандартные обновления безопасности до мая 2029 года. Условия для отдельных пакетов зависят от раздела репозитория. У Debian 13 полная поддержка заявлена до августа 2028 года. Затем часть пакетов и архитектур продолжит получать исправления безопасности до июня 2030 года. Сроки опубликованы на страницах Ubuntu и Debian. В апреле 2026 года вышла Ubuntu 26.04 LTS со стандартной поддержкой до мая 2031, и если собираетесь выбирать её, для нового сервера стоит проверить, поддерживает ли её ваше приложение. Пример ниже собран на 24.04, потому что под неё чаще готовы сторонние репозитории.
Как установить Ubuntu на VPS, решает панель провайдера, так как новый сервер создаётся из готового образа. Переустановка может удалить данные работающего сервера, поэтому мы берём пустой VPS. После первого входа две команды покажут ОС и архитектуру:
cat /etc/os-release dpkg --print-architecture
Название образа, версия ОС, архитектура и дата создания пригодятся при восстановлении.
Доступ по SSH и права администратора
Настройка VPS сервера на Ubuntu начинается с доступа: без рабочего SSH остальные шаги проверить нечем. SSH даёт доступ к командной строке сервера. Имя пользователя и адрес выдаёт провайдер. В примерах ниже USER и SERVER_IP нужно заменить своими значениями. Команда для подключения выполняется на вашем компьютере, а остальные команды – на VPS, если не указано иное:
ssh USER@SERVER_IP
Если SSH использует нестандартный порт, к команде нужен параметр -p с его номером. При первом входе клиент покажет отпечаток ключа сервера. Его нужно сверить через панель провайдера или аварийную консоль. Если отпечатка в панели нет, консольная команда ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub покажет отпечаток ключа Ed25519. В клиенте для сравнения должен быть выбран тот же тип ключа.
Для установки пакетов обычному пользователю нужны права администратора. Команда sudo -l покажет разрешённые действия. На новом VPS у администратора обычно есть разрешение ALL на запуск любых команд. Если провайдер выдал только root, отдельного администратора можно создать с помощью этих команд:
Если SSH-ключей ещё нет, создайте пару на своём компьютере: ssh-keygen -t ed25519. Закрытый ключ остаётся у вас. Открытый ключ из файла с расширением .pub нужно добавить в ~/.ssh/authorized_keys выбранного пользователя на VPS. Знак ~ означает его домашний каталог. При доступном входе по паролю утилита ssh-copy-id USER@SERVER_IP перенесёт ключ с компьютера автоматически. Если её нет, ключ можно добавить вручную через консоль. У каталога ~/.ssh должны быть права 700, у файла – 600, владельцем должен быть выбранный пользователь.
Для проверки входа по ключу откройте на компьютере новый терминал:
Эта команда создаёт отдельное соединение и проверяет именно ключ. Если при входе спросят парольную фразу, это фраза от самого ключа, а не пароль пользователя на сервере. После входа sudo -l должен показать прежние права. Старый сеанс пока оставьте открытым, а аварийная консоль поможет исправить ошибку, если SSH станет недоступен.
Откуда система получает пакеты
APT устанавливает программы из репозиториев – источников пакетов для выбранной ОС. Их адреса обычно уже есть в образе. Файл с настройками в Ubuntu 24.04 можно прочитать так:
cat /etc/apt/sources.list.d/ubuntu.sources
В Debian 13 часто используется файл debian.sources:
cat /etc/apt/sources.list.d/debian.sources
Если файла нет, команда ls /etc/apt/sources.list.d/ покажет другие имена. Образ провайдера также может хранить источники в старом формате /etc/apt/sources.list.
В записях Ubuntu 24.04 ожидается кодовое имя noble, у Debian 13 – trixie. Суффикс -security обозначает обновления безопасности. Замена кодового имени подключит пакеты другого релиза и может нарушить работу системы при обновлении.
После проверки источников обновление выполняется одинаково в обеих системах:
sudo apt update sudo apt upgrade
Первая обновляет сведения о пакетах, вторая устанавливает доступные обновления. После успешного apt update команда apt-cache policy покажет источники и их приоритеты. Если APT сообщает об ошибке подписи или недоступном источнике, сначала нужно устранить её. Проверку подписей отключать нельзя, без неё APT не проверит подлинность пакетов.
Для примера хватит штатных репозиториев. Адрес стороннего источника и его ключ берите только из документации того, кто его выпускает, и только в разделе для вашей ОС. PPA собирают под конкретный выпуск Ubuntu: на Debian такие пакеты могут не встать или потянуть за собой чужие зависимости, хотя APT в обеих системах одинаковый.
Какие программы нужны для начала
Для нашей страницы не нужны ни графическая оболочка, ни база данных. Перед установкой Nginx добавим три вспомогательных пакета:
Пакет ca-certificates содержит доверенные корневые сертификаты, они нужны программам для проверки HTTPS-соединений. curl поможет отправить запрос к сайту из терминала. UFW управляет сетевыми правилами, его настройкой займёмся до установки Nginx, поскольку пакет веб-сервера может сразу запустить службу.
Вторая команда выводит версии пакетов. Её результат пригодится для сравнения после обновления.
Утилиты вроде htop для просмотра процессов можно добавить позже. Здесь нужна команда ss, а если её нет, поможет sudo apt install iproute2.
Какие порты открыть
Чтобы сервис был доступен извне, программа должна принимать соединения на нужном порту, а сетевой экран – пропускать их. Разрешение в UFW само по себе ничего не запускает. Команда sudo ss -lntp показывает программы, которые ждут TCP-соединений, и адреса, на которых они доступны.
Адрес 127.0.0.1 означает доступ только внутри VPS, 0.0.0.0 – все локальные IPv4-адреса, [::] – все локальные IPv6-адреса. У SSH нужно проверить номер порта. Ниже используется стандартный 22, если у вас другой, замените его до выполнения команд.
Как открыть порт и не выставить лишние сервисы наружу?
Понять, как открыть порт на VPS сервере Ubuntu, помогает разделение на два слоя: программа должна принимать соединения, а сетевой экран – пропускать их. Поэтому в экране оставляют разрешения только для используемых портов, а остальные входящие запрещают по умолчанию. Исключение – отдельный сетевой экран провайдера, там доступ нужно разрешить ещё раз.
Перед включением правил разрешите текущий порт SSH и подготовьте аварийную консоль. В примере UFW будет единственным инструментом управления правилами внутри VPS. На сервер с уже настроенными nftables, Docker или панелью управления этот набор команд без проверки переносить нельзя. Порядок для чистой машины:
Порт 80 предназначен для тестовой страницы по HTTP. Статус UFW должен быть active, а в списке разрешений – порты SSH и HTTP. При включённом IPv6 нужны и соответствующие правила с пометкой v6. Настройка VPS Debian на этом шаге не отличается: UFW ставится из тех же репозиториев, и команды совпадают. Подробнее о правилах – в руководстве UFW.
Теперь повторите проверочный вход с параметром -S none. Старый сеанс продолжит работать, даже если правило закрыло порт, поэтому проверять нужно новым подключением. Сайт проверим после запуска Nginx.
Время, язык и файлы приложения
Если часы сервера спешат или отстают, программы могут отвергать действующие сертификаты. При разных часовых поясах на серверах труднее сопоставлять события в журналах. Время и синхронизацию покажет timedatectl status, имя машины – hostnamectl status.
Единый часовой пояс UTC задаётся командой sudo timedatectl set-timezone UTC. Она меняет часовой пояс, не настраивая синхронизацию. Если синхронизации нет, нужно проверить службу времени образа: например, systemd-timesyncd или chrony.
Локаль задаёт язык сообщений, формат дат и чисел. Команда locale покажет её настройки, locale -a – доступные варианты. Рабочую C.UTF-8 можно оставить.
Команда export меняет окружение только текущей оболочки, а системная служба под управлением systemdстартует со своим набором переменных. Задают его директивами Environment и EnvironmentFile в юните службы. Пароли и токены в командную строку не вписывают, так как строка запуска видна в выводе ps любому пользователю системы и оседает в истории оболочки. Секреты выносят в отдельный файл, который читает приложение или сам юнит через EnvironmentFile, с правами 600 и владельцем – учётной записью приложения.
Какие шаги настройки отличаются в Ubuntu и Debian?
1. Источники пакетов: у релизов разные кодовые имена и адреса репозиториев; чужие записи APT переносить нельзя.
2. Версии программ: нужный пакет или способ его настройки может отличаться, поэтому инструкция должна соответствовать выбранному выпуску.
3. Состав образа: начальная учётная запись, наличие sudo, служба времени и сетевые настройки зависят также от провайдера.
Запуск Nginx и проверка перезагрузки
Пакет Nginx содержит готовую службу. Системный менеджер systemd запустит её сейчас и при следующей загрузке VPS:
Команда nginx -t проверяет конфигурацию. При ошибке запускать следующие команды рано: в сообщении обычно указаны файл и строка, требующие внимания. Ключ --now запускает службу сразу, enable включает её автозапуск.
В стандартной конфигурации пакета файлы сайта лежат в /var/www/html. Этот путь указан в параметре root файла /etc/nginx/sites-enabled/default. Перед созданием страницы его стоит сверить. При другом каталоге сайта путь в командах ниже нужно заменить. Мы добавим отдельный файл с коротким текстом:
Статус active (running) подтверждает, что служба работает. Журнал помогает найти ошибки запуска. Ошибки обработки запросов ищите в /var/log/nginx/error.log. После перезапуска нужен тот же запрос curl. Затем команда sudo reboot перезагрузит VPS и разорвёт SSH-сеанс. После загрузки должны снова работать вход по SSH и запрос к странице, ожидаемый статус Nginx – active (running).
Обновления и короткая проверка сайта
Если локальный запрос вернул vps-ok, Nginx отдаёт файл. Проверка с вашего компьютера покажет, доступен ли он через интернет. В команде нужен внешний IPv4-адрес сервера:
Ожидается тот же текст vps-ok. Если снаружи ответа нет, стоит проверить адрес, порт в ss, правила UFW и сетевой экран провайдера, если он есть. Для доступа по IPv6 нужна отдельная проверка, так как запрос по IPv4 его не проверяет.
Эта тестовая страница работает по HTTP без шифрования. Перед публикацией сайта с авторизацией или личными данными нужны домен, сертификат и настройка HTTPS. После этого нужен доступ к порту 443 и запрос по имени сайта с проверкой сертификата.
Обновления лучше назначать на время, когда допустим короткий перезапуск. До обновления сохраняйте /etc/nginx и файлы сайта вне VPS. В копию стоит включить настройки UFW, список репозиториев и версии из dpkg-query -W. Секретные файлы в такой копии тоже требуют защиты. Базу данных, если она есть, копируют её собственными средствами резервного копирования.
После обновления повторяется уже знакомая проверка: nginx -t, состояние службы, новое соединение по SSH и запрос к странице с компьютера. Время запуска автоматических обновлений покажет systemctl list-timers --all. Настройки установленного unattended-upgrades находятся в /etc/apt/apt.conf.d/. История операций APT хранится в /var/log/apt/history.log. Пришедшие обновления ядра могут потребовать перезагрузки, это стоит учитывать на сервере с работающими приложениями.
В инструкции восстановления стоит указать версию образа, источники пакетов и расположение копий конфигурации. Рядом запишите, как подключиться к серверу после восстановления: пользователь, адрес, порт и место хранения ключа. Сам закрытый ключ должен оставаться в защищённом хранилище.
Пробное восстановление на отдельном VPS покажет, хватает ли сохранённых файлов и записей. После перезагрузки должны работать SSH и страница сайта, а правила сетевого экрана – совпадать с исходными. Успешный результат подтвердит, что настройку можно повторить.
Хорошая настройка VPS Ubuntu – та, которую можно повторить на чистом образе и проверить тем же smoke test после обновления. Если после переустановки из того же образа сервер отвечает на SSH, тестовая страница отдаёт условный vps-ok, а правила сетевого экрана совпадают с записанными, окружение воспроизводимо. Всё, что нельзя повторить по своей же инструкции, при следующем сбое придётся собирать заново и по памяти.
Pеклама. ООО «Аеза Групп», ИНН: 7813654490. erid:2RanympsH15