Статья покажет простой rsync скрипт для инкрементального бекапа (с использованием хардлинков из предыдущего бекапа) и про использование btrfs сжатия в zstd.
Embedded HW & SW. Больше HW.
Наше расследование: ищем отечественные микросхемы в «отечественных» счетчиках электроэнергии. Часть 7
Нашими публикациями мы подняли вопрос о системной проблеме в российской микроэлектронике - о включении в реестр российской промышленной продукции большого числа интегральных микросхем, для которых есть серьезные подозрения, что они иностранной разработки и не соответствуют требованиям 719 Постановления Правительства РФ. Если верить Минпромторгу России, то по результатам наших публикаций начались проверки. И чтобы проверяющим было легче, и они не запутались во всем этом многообразии мы соберем в этой статье известную на данный момент информацию. Так же еще раз предостережем ряд неизвестных нам представителей отрасли от помощи компаниям, которые пытаются повторить финт и выдать иностранные микросхемы за российские. А такие попытки все еще продолжаются, даже не смотря на поднятую волну. Но об этом мы расскажем в конце статьи.
И так вкратце напомним в чем заключается тот самый финт. В соответствии с требованиями 719 Постановления Правительства РФ для того чтобы микросхемы были признаны отечественными их схема и топология должны быть спроектированы и разработаны в России. При этом, если потом кристалл будет изготавливаться на зарубежной фабрике, то такая отечественная микросхема будет относится к 2 уровню, если кристалл будет изготавливаться на территории России то это будет микросхема 1 уровня. За счет применения отечественных микросхем получает отечественный статус уже радиоэлектронная аппаратура, например счетчики электрической энергии. И такая отечественная радиоэлектронная аппаратура имеет преференции при государственных закупках. В ряде официально признанных Минпромторгом России отечественными микросхемами мы нашли кристаллы аналогичные кристаллам микросхем, разработанных иностранными компаниям. И возникает вопрос, если эти микросхемы не разрабатывались в России, то почему они быть признаны отечественными? И что делать с аппаратурой, которая получила свои баллы отечественности за счет применения этих псевдо-отечественных микросхем?
Livepatching: готовим «точечное» обновление ядра Linux на примере реального бага

Бывает так, что серверные Linux-системы неделями или даже месяцами работают без перезагрузки. Переносить нагрузку с одного сервера на другие, устанавливать обновления, проверять, что после перезагрузки железо работает верно, запускать заново все необходимое ПО — это далеко не всегда просто, быстро и дешево.
Но как быть, если нужно устранить критические уязвимости или другие серьезные ошибки в ядре Linux? Об одном из способов сделать это без перезагрузки системы и пойдет речь в этой статье.
Меня зовут Евгений, я работаю в компании YADRO. Задачами, связанными с разработкой и анализом компонентов ядра Linux, я занимаюсь уже около 15 лет.
Я расскажу, что такое livepatching, как такая технология появилась и как она применяется. А также покажу на примере, как можно самому сделать лайвпатч, чтобы исправить реальный баг в ядре Ubuntu 22.04 Server.
У статьи будет продолжение. Там подробно разберем, как именно лайвпатчи заменяют одни функции ядра Linux на другие, а также узнаем, на что нужно обращать внимание, если потребуется использовать все это в продакшене.
В основном речь пойдет о системах с архитектурой x86 и RISC-V (хотя технология работает и для ARM64, PowerPC, s390x).
НАМИ протестировал в Engee модель определения уровня топлива в баке

Таким образом специалисты института убедились в том, что расчет математических моделей в Engee и Simulink выполняется идентично.
Для проверки корректности работы Engee была взята модель алгоритмов определения уровня топлива в баке, ранее реализованная в программных продуктах Matlab/Simulink. Определение количества топлива в баке – важная задача, от которой зависит не только индикация остатка на приборной панели, но и точность расчетов расхода и дальности хода. Однако при движении автомобиля уровень топлива в баке постоянно меняется: при боковых наклонах (крене), подъемах и спусках (дифференте), при ускорении и замедлении.
Чтобы получать точные данные в любых условиях, в современных автомобилях со сложной формой топливных баков используется система из нескольких датчиков и алгоритмов обработки их показаний
Рабочая точка биполярного транзистора

TL;DR: рассказываю и показываю на графиках, без формул, основу понятия рабочей точки биполярного транзистора. Используя интерактивную модель в веб-симуляторе электроники, соберу простой транзисторный предусилитель.
Dual flash SS 8-bit Parallel + Zynq 7000

Всем привет!
Я хочу поделиться с вами, какоднажды мне пришлось оживлять вторую флешку на микроконтроллере (далее «мк»), ну кому не нравится, то назовем это «программируемая система на кристалле». Наверное кто только зашел сюда и хочет более подробно разобраться и все понять, то вам сюда, так как я планирую все подробно рассказать от А до Я.
В данной статье будут подняты такие вопросы:
1. Инициализация QSPI (кто не знает, специальная периферия, позволяющая работать с флешкой на прямую).
2. Инициализация flash. Написание драйвера .
Проделав все пункты, которые будут затронуты в данной статье, вам станет более понятно как и что работает.
Атомные реакторы для лечения рака (и почему они больше не нужны)

1954 год. В мире, все еще находящемся в атомной эйфории, открывается первая АЭС — Обнинская. Ядерная энергия вырабатывается уран-графитовым реактором канального типа АМ-1 («атом мирный») и вливается в единую советскую электросеть.
Но это не все — на станции бывают особые посетители, прикладывающие к трубкам, отходящим от реактора, головы, шеи и глаза. Это — онкологические больные, получающие лучевую терапию.
Нет, это не зарисовка из комикса-антиутопии об обуздавшем атом СССР будущего, хотя похоже. Это — реальная история первых экспериментов по бор-нейтронозахватной терапии (БНЗТ) — разрушению раковых опухолей с помощью бомбардировки их нейтронами из атомных реакторов.
Пишем простой драйвер Linux для устройства, ничего не зная о драйверах и о USB

Пару месяцев назад я купил Nanoleaf Pegboard Desk Dock — последнее слово в технологиях USB-хабов с RGB-светодиодами и крючками для устройств. К сожалению, это чудо инженерной мысли поддерживает только гейминговые операционные системы — Windows и macOS, поэтому возникла необходимость в драйвере для Linux.
В своих постах я уже настраивал Windows VM с пробросом USB и пытался выполнить реверс-инжиниринг официальных драйверов. При этом я задумался, а нельзя ли написать производителю и попросить у него спецификации или документацию его протокола. К моему удивлению, техподдержка Nanoleaf ответила мне всего через четыре часа, предоставив полное описание протокола, используемого Desk Dock, а также полосами RGB-светодиодов. Документация по большей мере подтвердила то, что я обнаружил самостоятельно, но также я нашёл в ней пару других мелких подробностей (например, управление питанием и яркостью), которые были мне неизвестны.
Сегодня мы попробуем написать драйвер на основании протокола (который я изучил реверс-инжинирингом), параллельно сверяясь с официальной документацией. Однако здесь есть одна небольшая проблема: раньше я ни разу не писал драйверов для устройств под Linux, а с USB-устройствами взаимодействовал только как пользователь.
Б/У Antminer S9 в помощь радиолюбителю

На хабре уже было несколько статей про использование старых плат управления Antminer S9, которые продаются сейчас по доступной цене. Я решил сделать нечто полезное для радиолюбителя. Сегодня расскажу о проекте очередного антенного переключателя. В XXI веке он будет с ПЛИС и двухъядерным АРМ процессором.
Вы тоже заказываете платы, компоненты и всячину здесь?

Что такое коллективный экспресс (7$/кг) и как его использовать?
Почему с 45$/кг бывает дешевле, чем с 23$/кг?
Как заказать компоненты/всячину с сайтов JLC (jlcfa, lcsc, jlcpcb, …)?
С 1688, Тао бао и других китайских площадок?
Привезти из Европы, США (Маузера, Диджикея и т. д.)?
Где платы с размерами >100х100 мм будут дешевле?
Надеюсь, продуманная навигация по статье и таблицы помогут быстро найти и сравнить полезную информацию.
Как информатики научились разоблачать ложь

На протяжении десятилетий криптографическое сообщество опиралось на преобразование Фиата — Шамира как на надёжный инструмент для построения неинтерактивных доказательств. Эта техника позволила компьютерам "доказывать истину" без диалога, обеспечив безопасность блокчейнов, систем аутентификации и протоколов обмена ключами. Но что если сама логика этой схемы уязвима?
В новом исследовании международная группа криптографов — Рон Ротблум, Дмитрий Ховратович и Лев Суханов — вскрыла неожиданный изъян в фундаменте цифрового доверия.
Как в РФ разрабатывали уникальный судовой радар ближней зоны в диапазоне 76 ГГц

Этот пост — не про финальный продукт, а про инженерную задачу, которую ранее никто в России (и никто в мире) не решал. Работы над судовым радаром ближней зоны СИД360-76 начались в 2021 году — а первый прототип заработал в лаборатории уже в 2022 и в этом же году был уже временно установлен для тестов на судне. Поводом стал запрос от оператора ледокольного флота: при проводке судов во льдах ледоколы вплотную подходят к борту сопровождаемого судна. В такой ситуации «слепая зона» обычных радаров становится критически опасной. Нужно было решение, которое «видит» препятствия буквально в нескольких метрах от борта и позволит избежать ситуации с наваливанием судов друг на друга.
Мой долгий путь до GPIO в QEMU

Тема этой статьи преследует меня, как статуя командора из известной сказки. Почти десять лет назад я сделал возможность чтения и записи GPIO для виртуальной машины QEMU. GPIO был нужен для тестирования алгоритмов контроллера взвешивания в движении (Weigh In Motion, WIM). С тех пор проект получил некоторое количество упоминаний, а я — несколько писем. И вот к десятилетнему юбилею я решил поставить точку в этой работе.
VHS-Decode — новый метод оцифровки видео

Несмотря на то, что видеокассеты уже давно вышли из повседневной жизни, услуги по их оцифровке продолжают пользоваться спросом. Кассеты с любительскими записями есть почти в каждой семье, и рано или поздно их нужно перевести в цифру, ведь срок жизни магнитной ленты ограничен.
Зимой 2025 года в мои руки попало 35 кассет формата VHS и VHS-C из семейного архива, и встала задача по их оцифровке. С учетом того, что на каждой кассете было записано приблизительно по 60 минут видео, а средний ценник услуг по захвату сейчас составляет 400 рублей в час, общая стоимость конвертации составила бы около 14 тысяч рублей. Эта сумма показалась мне слишком большой, и было решено сделать все самостоятельно. В данной статье я хочу рассказать об относительно новом методе оцифровки видеокассет, на котором я остановился, и сравнить его с классическими подходами.
HackRF One. Доступный SDR трансивер для каждого

В очередной раз перебирая залежи своей электроники мне на глаза попался старый добрый товарищ - SDR-трансивер HackRF от Great Scott Gadgets. И я вспомнил, что у меня когда-то давно были планы написать несколько статей о том, как им пользоваться, что он может, да и зачем он вообще нужен. По всему Интернету я нагуглил огромное количество самого разнообразного разрозненного материала насчёт HackRF, утилит, прошивок, дополнительных модулей и прочего. И я решил подсобрать все это в своём материале сделав хороший вводный обзор.
Для всех, кому интересна тема радио и SDR — добро пожаловать под кат!
О контроллере батареи ИБП (часть 2)

О сколько нам открытий чудных
...
Судя по результатам голосования и комментариям к предыдущей статье, к вопросу контроля АКБ у самых простых ИБП есть некоторый интерес. Данная статья - продолжение данной темы.
Сейчас прототип собран на макетной плате (токовый шунт к которому подключено два АПЦ). Измеритель напряжения и тока INA3221, как рекомендовали в комментариях, я решил не использовать, так как дискретность его измерения 8мВ сравнима с дискретностью 12-ти битного АПЦ в обычном микроконтроллере (для ESP32 получается точность измерения около 6мВ).
Embedded Linux для начинающих (Часть первая)

Однажды по работе мне прилетела задача по сборке и запуску Linux на одноплатном ПК. Тогда я, будучи разработчиком ПО для микроконтроллеров, встал в небольшой ступор — задачка явно не решалась установкой IDE и нажатием в ней кнопки «Собрать проект». Гугл помог узнать о том, что существует некий Buildroot. В материалах по теме всё выглядело довольно просто: скачай, настрой, дерни пару команд, загрузи результат на одноплатник — и можно запускать! Получается, процесс не многим сложнее установки дистрибутива Linux или Windows на обычный ПК? Конечно же, нет. Ведь если у тебя в руках кастомный одноплатник неизвестного китайского бренда, а не BeagleBone или Raspberry Pi, то зарыться в Buildroot придётся с головой...
Жребий брошен: оптимальная генерация распределений и алгоритм Кнута-Яо

Задача
Три айтишника — Маша, Вася и Петя — пошли в поход. После ужина они решают, кто будет мыть посуду. Петя дежурит один, а Маша с Васей — вдвоём. Значит, нужно выбрать Петю с вероятностью ⅓, а Машу с Васей — с вероятностью ⅔. Под рукой — только честная монетка. Как с её помощью устроить такой жребий?
Когда мы обсуждали эту задачу со студентами, они предложили такой способ. Бросим монету дважды: если выпали два орла — дежурит Петя; если один орёл и одна решка — Маша с Васей; если две решки — перебрасываем
Чтобы выбрать дежурного так, в среднем уходит 8⁄3 броска (чуть позже мы это докажем). Можно ли сделать это быстрее? Существует ли алгоритм, для которого ожидаемое число бросков меньше?
Оказывается, можно придумать простой, но неочевидный метод, позволяющий смоделировать событие с вероятностью ⅓ — и в среднем требует не больше двух бросков. Он называется алгоритмом Кнута–Яо
В этой статье мы пройдём весь путь к этому алгоритму. Начнём с базовых методов, поймем, сколько бросков они требуют в среднем, и найдём границу, быстрее которой не может работать никакой алгоритм. А затем построим тот, который этой границы достигает — оптимальный для вероятности ⅓
В финале мы обобщим эту идею: научимся моделировать любую вероятность p от 0 до 1 — и любое дискретное распределение. Заодно познакомимся с важным понятием, называемым энтропией
А в самом конце, как всегда — красивая задача
Как я убедил виртуальную машину, что у неё есть кулер

Зачем вообще этим заморачиваться?
Некоторые образцы malware выполняют различные проверки, чтобы определить, запущены ли они в виртуальной машине. Один из самых частых способов — проверка наличия определённых аппаратных компонентов, обычно не эмулируемых в виртуальных средах. Один из таких компонентов — кулер процессора. Например, malware может проверять наличие кулера процессора, поискав в WMI класс Win32_Fan
:
wmic path Win32_Fan get *
Они делают это, чтобы не запускаться в виртуальных машинах, усложнив таким образом процесс анализа для исследователей безопасности.
Зловредное ПО может определять, запущено ли оно в виртуальной машине, множеством разных способов. Есть различные классы WMI, позволяющие обнаружит присутствие виртуальной машины, например, Win32_CacheMemory
, Win32_VoltageProbe
и множество других.
В этом посте я расскажу о кулере процессора. Мне просто понравилась идея убедить виртуальную машину, что он у неё есть. Однако такой же подход можно применить к другим аппаратным компонентам и классам WMI.
Установка Windows через CMD

Приходилось ли вам устанавливать современные версии Windows? Если да, то вам точно знаком установщик, каждый этап которого прогружается несколько секунд, и который яростно навязывает вам использование аккаунта Microsoft, с каждым обновлением делая использование локального аккаунта всё труднее и труднее.
Но существует альтернативный способ установить Windows — более быстрый, не требующий подключения к интернету и не навязывающий никаких сервисов — ручная установка с использованием CMD.
Information
- Rating
- 2,825-th
- Location
- Москва и Московская обл., Россия
- Registered
- Activity