Перед вами продолжение первой части статьи Разбираемся со сканерами в Linux: получение информации об устройстве и поиск подходящего драйвера. Там же вы найдете список источников, на которые я периодически ссылаюсь по тексту.
Рубрика «kernel»
Разбираемся со сканерами в Linux: Установка и конфигурирование устройства
2024-08-23 в 16:27, admin, рубрики: astra, kernel, sane, udev, usb, сканерыZynq 7000. Загрузка Embedded Linux на SoC через JTAG с помощью XSCT
2024-08-23 в 8:05, admin, рубрики: buildroot, jtag, kernel, linux, rootfs, timeweb_статьи, xsct, zynq, zynq-7000, zynq-miniУчитывая, что я очень давно занимаюсь отладкой и запуском самых разнообразных проектов связанных с Zynq 7000 — со временем количество итераций перезапуска при проведении отладки увеличивалось пропорционально сложности проекта. Когда я только начинал осваивать разработку под Zynq, то каждый раз закидывал новый образ на microSD карту. Это было очень медленным процессом и требовало от меня постоянно подключать/отключать карту. После этого я освоил сетевую загрузку через Ethernet и TFTP, заменяя файлы по сети и проверяя результат после перезагрузки.
Точка доступа Wi-Fi из камеры видеонаблюдения на OpenIPC
2024-01-11 в 13:00, admin, рубрики: bridge, DIY, kernel, linux, openipc, ruvds_статьи, usb wi-fi, wifi, видеонаблюдение, камера, камеры наблюденияПару десятков лет назад меня впечатлила новость, что какая-то корпорация смогла использовать настолько крутые технологии, что впихнули веб-сервер в коннектор RJ45. Для чего это нужно было уже и не вспомню, но сейчас, ковыряясь со своими камерами видеонаблюдения, меня осенила мысль, что плата камеры 38x38 мм не намного больше. Веб-сервер на ней и так есть. Это уже бытовуха. Скукота-скукотища. А вот сделать из ненужной камеры Wi-Fi-точку доступа — тут уже и польза будет. Вместо того, чтобы бороться одним роутером за дальность сигнала, можно просто использовать ещё один, чтобы «вафля» подключалась в самых недосягаемых уголках дома, таких как подвал или шубохранилище. Подобные устройства продаются совсем недорого. Но если имеется плата камеры с мусорки, то мы можем получить на халяву такой гаджет и в нагрузку получить бесценный опыт по тюнингу и сборке OpenIPC. Да и по сути, цель поста — не получение девайса ради экономии трёх копеек, а использование примера для понимания, как может быть полезна OpenIPC. Возможно, вы хотите собрать для одного из своих проектов камеру, которая в дополнение работает как Wi-Fi-точка доступа. Возможно, ещё миллион идей вас посетят в процессе чтения.Читать полностью »
Мы сделали вам плату, а дальше вы сами: Доводим дешевый одноплатник до ума своими руками
2023-07-25 в 8:05, admin, рубрики: DIY, I2C, kernel, linux, nix, opi, Orange Pi, orange pi 2g iot, orange pi 3g iot, orange pi zero, Raspberry Pi, SPI, UNIX, vstack_статьи, Блог компании vStack, гаджеты, доводим до ума, Компьютерное железо, Настройка Linux, одноплатники, одноплатные компьютеры, ядроВ прошлой статье, мы с вами рассмотрели на что способен одноплатный компьютер, который стоит всего 1.000 рублей. Как мы выяснили, перспективы у данного девайса весьма неплохие, однако по факту, Orange Pi продаёт практически голую железку, которую нужно дорабатывать самому. Да, тут есть Ubuntu/Fedora, да, тут выведена гребенка с I2C/SPI — однако из коробки это всё работает криво-косо, либо не работает совсем. Даже обещанные шины SPI/I2C фактически не доступны в системе «из коробки». Материалов о доработке этого одноплатника в сети мало, поэтому я решил довести его до ума сам и поделится с вами — в том числе, готовыми бинарными образами! Интересно, на что способен доработанный одноплатник по цене ящика пива? :)
Читать полностью »
Борьба с фрагментацией памяти в ядре Linux
2022-06-26 в 10:00, admin, рубрики: kernel, linux, ruvds_перевод, Блог компании RUVDS.com, дефрагментация, Настройка Linux, Разработка под Linux, системное администрирование, управление памятью, фрагментация памятиВ этой компиляции из двух статей приводятся распространенные методы предотвращения фрагментации памяти в Linux, а также разбираются принципы ее уплотнения, способы просмотра индекса фрагментации и прочие нюансы.Читать полностью »
Исследование роста утилизации процессора: как мы мигрировали с CentOS 7 на Oracle Linux 7
2021-08-19 в 12:58, admin, рубрики: devops, eBPF, investigation, kernel, linux, perf, performance, performance analysis, xdp, Блог компании DINS, Настройка Linux, Разработка под LinuxПривет! Меня зовут Александр Петровский, я инженер в DINS. Я работаю в команде, которая участвует в разработке сервисов облачной телефонии и видеоконференций для RingCentral. Каждый из них состоит из большого количества микросервисов.
Ядерный шелл поверх ICMP
2020-08-28 в 9:12, admin, рубрики: C, icmp, kernel, kernel module, linux, networking, Блог компании RUVDS.com, Разработка под Linux, Сетевые технологииTL;DR: пишу модуль ядра, который будет читать команды из пейлоада ICMP и выполнять их на сервере даже в том случае, если у вас упал SSH. Для самых нетерпеливых весь код на github.
Осторожно! Опытные программисты на C рискуют разрыдаться кровавыми слезами! Я могу ошибаться даже в терминологии, но любая критика приветствуются. Пост рассчитан на тех, кто имеет самое приблизительное представление о программировании на C и хочет заглянуть во внутренности Linux.
В комментариях к моей первой статье упомянули SoftEther VPN, который умеет мимикрировать под некоторые «обычные» протоколы, в частности, HTTPS, ICMP и даже DNS. Я представляю себе работу только первого из них, так как хорошо знаком с HTTP(S), а туннелирование поверх ICMP и DNS пришлось изучать.Читать полностью »
Немного о релокациях в ядре Linux
2020-05-29 в 10:58, admin, рубрики: C, elf, kernel, relocations, системное программированиеРешим простую задачу — выделим в пространстве ядра Linux блок памяти, поместим в него какой-нибудь бинарный код и выполним его. Для этого напишем модуль ядра, в нем определим функцию foo, которая будет играть роль нужного нам бинарного кода, далее при помощи функции module_alloc выделим блок памяти, скопируем в него через memcpy эту функцию целиком и передадим ей управление.
Вот как это выглядит:
Читать полностью »