Рубрика «linux» - 51

OTA обновление устройств с Linux - 1

TL;DR:

OTA A/B обновление образа rootfs для IoT устройств с Linux при помощи проекта Mender.

Вступление

Читать полностью »

Модификация ядра Linux: добавляем новые системные вызовы - 1


В этой статье мы научимся изменять ядро Linux, добавим собственные уникальные системные вызовы и в завершении соберем ядро с новой функциональностью. Читать полностью »

image

В Debian теперь нет iptables. Во всяком случае, по умолчанию.

Узнал я об этом, когда на Debian 11 ввёл команду iptables и получил “command not found”. Сильно удивился и стал читать документацию. Оказалось, теперь нужно использовать nftables.

Хорошие новости: одна утилита nft заменяет четыре прежних — iptables, ip6tables, ebtables и arptables.

Плохие новости: документация (man nft) содержит больше 3 тысяч строк.

Чтобы вам не пришлось всё это читать, я написал небольшое руководство по переходу с iptables на nftables. Точнее, краткое практическое пособие по основам nftables. Без углубления в теорию и сложные места. С примерами.
Читать полностью »

Работа с СОМ-портом на Си в linux - 1

Телетайп, на который БЭВМ могли выводить и получать данные. Фото взято здесь.

Каждый, кто постоянно занимается электроникой и программирует встраиваемые устройства, неизбежно сталкивается с необходимостью работы с СОМ-портом под линуксом. Недаром, моя статья "UART и с чем его едят" спустя 11 лет после выпуска набирает просмотры и комментарии.

Для разработчиков чаще всего появляется задача сопрячь какой-то датчик, либо удалённое устройство с одноплатником. Да что греха таить, сейчас в 2021 году UART, наверное, самый распространённый интерфейс для обмена данными, несмотря на всю его архаичность. Далеко за примером ходить не надо, внутри смартфона, лежащего у вас в кармане, будет с десяток UART интерфейсов, самый известный из которых — это подключение SIM-карты.

Поэтому умение работать с СОМ-портами в linux особенно важно. И вот, казалось бы, UART, древнейший интерфейс, всё должно быть известно и понятно, и даже опытные программисты ломают зубы, работая с ним в линуксе. Особенный цирк с конями начинается при работе с передачей сырых данных по RS-485. Не знаю ни одного программиста, который бы не хватил горя при разработке ПО для таких решений. Самое забавное, что с более новомодным i2c работать в линуксе куда проще и понятнее, чем с ортодоксальным UART. Чтобы не было путаницы дальше, всё семейство UART (RS-232, RS-485, UART 5V, UART 3,3 и т.д.) по тексту я буду называть COM-порт или UART. Мы говорим в статье не о физическом интерфейсе, а о программной стороне вопроса.

В этой статье я хочу показать, как писать свои программы, работающие с UART в ОС Linux. И неважно на каком языке вы пишете программу для работы с UART (python, c, c++, bash, php, perl и т.д.), принцип работы и грабли будут одни и те же, так как всё равно всё упирается в системные вызовы к ядру. А не понимание того, что там происходит и приводит к различным трудноуловимым багам.Читать полностью »

NavQ+, герой сегодняшнего рассказа
NavQ+, герой сегодняшнего рассказа

Я занимаюсь разработкой электроники. Шесть лет назад я написал свою первую статью начинавшуюся этими же словами и увидел неподдельное внимание. Все эти годы я продолжал оттачивать свое мастерство и на текущий момент я хочу перефразировать вступление:

Я занимаюсь разработкой электроники и мне этого мало.Читать полностью »

Проброс видеокарты в ноутбуке. Laptop GPU Passthrough - 1

… или как из игрового ноутбука средствами виртуализации сохранить игровую систему!
Если Вы рассматриваете ноутбук/ПК не только как игровую станцию, а еще и как хост для виртуальных машин, но при этом иногда нужно поиграть/поработать с 3d, то это возможно!

Добро пожаловать под cut.
Читать полностью »

Возможность организации работы SCTP поверх UDP (известная ещё как инкапсуляция SCTP-пакетов в UDP-пакеты) определена в RFC 6951 и реализована в пространстве ядра Linux начиная с версии ядра 5.11.0. Поддержку этой возможности планируется включить в Red Hat Enterprise Linux (RHEL) 8.5.0 и 9.0.

Простейшее решение «проблемы промежуточных устройств»: организация работы SCTP поверх UDP в ядре Linux - 1

В этом материале даётся краткий обзор организации работы SCTP поверх UDP в ядре Linux.
Читать полностью »

Развенчиваем мифы про Chrome OS - 1

Многие считают, что всё знают о системе Chrome OS, ни разу не пользовавшись ей: «Ну я ж знаю Хром, а тут в ОС только браузер и есть, всё понятно». Но на самом деле даже в словах «только браузер» уже содержится ошибка.

В 2019-м я купил Google Pixelbook (не как основное устройство, а как мобильное дополнение к десктопу). Тогда же проехалЧитать полностью »

MKINITCPIO V31 и заглушки UEFI - 1


Изображение взято из статьи «Linux Kernel EFI Boot Stub или «Сам себе загрузчик»»

Несколько месяцев назад я написал для скрипта mkinitcpio код, который позволяет ему создавать файлы UEFI с использованием заглушки systemd.

Само внесенное мной изменение можно найти на GitHub.

Далее я коротко продемонстрирую, чем эта возможность хороша, как она упрощает запуск системы, и как с ее помощью можно повысить безопасность, используя, например, Secure Boot.Читать полностью »

Многообразие Linux-дистрибутивов - 1

Цель этой статьи показать и объяснить многообразие дистрибутивов Linux. Перечислить основные сходства (они же все почему-то называются "Линуксы" или даже правильнее GNU/Linux) и основные различия (если бы не было различий, их бы столько не существовало).

Рассмотрим несколько наиболее часто задаваемых новичками вопросов:


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js