Pull to refresh
-23
0
Send message

Пишем макет 16-битного ядра на C/C++

Reading time18 min
Views17K


В первой и второй статьях я лишь коротко представил процесс написания загрузчика на ассемблере и C. Для меня это было хоть и непросто, но в то же время интересно, так что я остался доволен. Однако создания загрузчика мне показалось мало, и я увлекся идеей его расширения дополнительной функциональностью. Но так как в итоге размер готовой программы превысил 512 байт, то при попытке запуска системы с несущего ее загрузочного диска я столкнулся с проблемой “This is not a bootable disk”.
Читать дальше →
Total votes 21: ↑20 and ↓1+36
Comments5

Создаем свой загрузочный диск Linux

Reading time13 min
Views42K

В статье описывается способ, как создать собственный загрузочный диск Linux (оптический диск или флешку), добавить в него только нужные программы и убрать все лишнее. Полученный образ в экспериментах занял менее 25 Мб. Он позволяет быстро загружаться, работать в текстовом режиме, создавать, редактировать, удалять файлы на разных файловых системах, имеет поддержку русского языка. За основу взят Debian.

Читать далее
Total votes 55: ↑55 and ↓0+55
Comments9

Раскрываем секреты загрузочных ISO-образов

Reading time20 min
Views97K


В этой статье я хочу поговорить об ISO-файлах, на которых, как известно, распространяются дистрибутивы операционных систем. Начиная писать статью, я немного сомневался в её актуальности, так как я ассоциировал ISO-образы с оптическими дисками, которые, ввиду ряда причин, уходят в прошлое. У меня было стойкое понимание, что ISO-файлы в основном нужны только для хранения образов оптических дисков, которые содержат установщик операционной системы. Но, как оказалось, всё гораздо сложнее и интереснее, особенно применительно к современному железу.
Читать дальше →
Total votes 193: ↑193 and ↓0+193
Comments73

Как самому за один вечер собрать минимальную ОС Linux из исходного кода

Level of difficultyMedium
Reading time11 min
Views85K
image

В современном мире нас окружает огромное количество электронных устройств различной степени сложности. Если устройство более или менее сложное, например, телевизор, маршрутизатор, смартфон, то с большой долей вероятности оно работает под управлением операционной системы Linuх, и эта мысль не даёт мне покоя.

Ещё больше не даёт покоя мне тот факт, что все ядра операционной системы Linux, которые работают на различных устройствах и серверах, собраны из исходного кода, находящегося в репозитории на сайте kernel.org.

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

Мне всегда хотелось собрать операционную систему Linux самому из исходного кода, но процесс этот всегда казался сложным и запутанным, да и многого я не понимал. Но всё-таки в определённый момент времени я накопил достаточное количество знаний, чтобы осуществить свою мечту. В этой статье я хочу рассказать вам, как собрать минимальную Linux из исходного кода и запустить её у себя на компьютере.
Читать дальше →
Total votes 83: ↑82 and ↓1+108
Comments81

Программируем полётный контроллер на основе DIY проекта Flix

Level of difficultyMedium
Reading time19 min
Views13K

У нас в МАИ, в 8-м институте, учатся будущие разработчики IT‑продуктов и софта для авиационных систем, аэропортов, логистики и много чего ещё интересного. Один из курсов с 2023 года мы решили посвятить разработке программного обеспечения для автопилота. В курсе всё как положено, с красивыми диаграммами регуляторов, кватернионами и кодами таких проектов как Ardupilot, PX4, Betaflight, iNav и другими.

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

Полетели !
Total votes 39: ↑38 and ↓1+49
Comments21

Аппаратный ключ шифрования за 3$ — возможно ли это?

Reading time10 min
Views69K

Итоговый результат — ключ размером с флешку

Повсеместное шифрование и, как следствие, обилие ключей заставляет задуматься об их надежном хранении. Хранение ключей на внешних устройствах, откуда они не могут быть скопированы, уже давно считается хорошей практикой. Я расскажу о том, как за 3$ и 2 часа сделать такой девайс.
Читать дальше →
Total votes 151: ↑151 and ↓0+151
Comments151

Как в разы увеличить дальность приема WiFi / BT при помощи паяльника

Level of difficultyEasy
Reading time3 min
Views48K

Ну или точнее при помощи двух паяльников. Несколько простых и эффективных решений, подходящих для компактных модулей с чип антенной.

Читать далее
Total votes 100: ↑99 and ↓1+118
Comments132

Квантовые эксперименты на дому. Строим квантовый компьютер из лазера и полимеров

Level of difficultyMedium
Reading time21 min
Views21K

У меня хорошая новость для тех, кому надоело читать мои нудные лонгриды по квантовой теории и философии физики. В этой статье будет одна практика – квантовые эксперименты в домашних условиях, с минимальным бюджетом и без специального оборудования. Я решил снять и наглядно продемонстрировать, как построить квантовый компьютер своими руками и выполнить на нём квантовое вычисление - алгоритм Дойча. Всё, что я буду делать, вы сможете при желании воспроизвести у себя дома и убедиться, что это работает. Если у вас есть знакомые, которые сомневаются в квантовой механике и отрицают факт квантового превосходства, поделитесь с ними ссылкой на эту статью или видео, пусть посмотрят.

Читать далее
Total votes 97: ↑93 and ↓4+116
Comments66

Разработка сложных процессорных систем на примере модуля SMARC. Продолжение

Level of difficultyHard
Reading time7 min
Views5.2K
Приветствую, Хабр!



Как и обещал, выкладываю продолжение на тему разработки на процессорах. В этой статье хочу коснуться нескольких тем:

  • выбор стека платы,
  • документация от производителя процессора,
  • трассировка полигонов питания,
  • расчет волнового сопротивления.

Все, что хотел, снова не уместилось в статье, а комкать информацию не хочется, чтобы еще больше не запутать. В материале много картинок, но это позволит проще воспринимать и запоминать информацию.
Читать дальше →
Total votes 58: ↑57 and ↓1+75
Comments24

Эмиттерный повторитель — ключ к пониманию работы транзисторных каскадов

Level of difficultyMedium
Reading time9 min
Views36K


Привет, эту публикацию я хочу посвятить людям, кто, как и я, любил в детстве читать журнал «Радио» и книги по электронике, но не смог сам разобраться в принципах работы усилителей на биполярных транзисторах. Тема полупроводников непроста и требует понимания многих чуждых для нашей повседневной интуиции физических процессов. Я помню момент озарения, когда я понял принцип схемотехнического решения эмиттерного повторителя, и именно с него пошло постепенное понимание, как функционируют и другие типы транзисторных каскадов. И я предполагаю, что эта тема может стать точкой входа в аналоговую электронику не только для меня.
Читать и смотреть схемы
Total votes 149: ↑147 and ↓2+187
Comments117

Математическая продлёнка. Вокруг ленты Мёбиуса

Level of difficultyEasy
Reading time13 min
Views8K

Лента или лист Мëбиуса — верный друг всех адептов занимательной математики. Это неориентируемое гладкое двумерное многообразие можно без труда вложить в трёхмерное пространство, склеив из бумажной полоски, а потом эффектно разрезать на потеху публике. Но кого можно удивить лентой Мёбиуса на Хабре? Знаем, клеили, резали! Но всё же, я надеюсь подарить вам ещё несколько незаезженных топологических инсайтов на эту тему. Более того, в ней есть ещё что изучать, и я поделюсь с вами двумя относительно недавними исследованиями ленты Мёбиуса, опубликованными в 2010-м и 2014-х годах.

Предупреждение! Это практический пост. Предлагаемые эксперименты и наблюдения настоятельно рекомендуется провести самостоятельно, и очень желательно, — с детьми! Никакие картинки не дадут того опыта, который можно получить оперируя своими руками! А уж такой радости и подавно!

Читать далее
Total votes 46: ↑46 and ↓0+65
Comments6

Реверсинжиниринг PWN-тасков или эксплуатируем бинарные уязвимости (Часть 2 / Stack1)

Level of difficultyMedium
Reading time2 min
Views965

Друзья всех приветствую! Продолжаем «пывнить» :) Кто не прочитал первую статью — она есть ТУТ!

Перед началом оставлю пару полезных ресурсов:

Теория — Статьи на тему, что такое и с чем едят Buffer Overflow

Практика — Крутые таски на тему PWN от Codeby Games

В этой статье будем решать таск Stack1 (скачать EXEшник можно ТУТ).

Читать далее
Total votes 7: ↑7 and ↓0+12
Comments0

Как я взломал штрих-коды продавца билетов TicketMaster

Reading time12 min
Views31K
Недавно я купил билеты на концерт на сайте TicketMaster. Если бы мне отправили обычный распечатываемый билет в PDF, который бы можно было сохранить офлайн на телефоне, то этой статьи никогда бы не было. Но ведь сейчас 2024 год: всё, что делается онлайн, перестало быть простым.

После завершения покупки TicketMaster сообщил мне, что я не смогу распечатать билеты на мероприятие. Сайт выпускает билеты при помощи системы Mobile Entry, он же SafeTix. Они имеют вид обновляемого штрих-кода, отображаемого в веб-приложении или приложении для Android/iOS TicketMaster.


»Скриншоты не позволят вам пройти», зато позволят инструменты разработчика Chrome

Возможно, я старею, но мне ещё помнятся времена, когда распечатываемые билеты использовались повсюду. Покупатель мог распечатать билеты после приобретения онлайн или даже в кассе (ничего себе!), и принести эти бумажные билеты ко входу на мероприятие. Их можно было сохранять как PDF и просматривать практически на любом устройстве. PDF-билетами можно пользоваться, даже когда у телефона нет подключения к Интернету. Бумажными билетами можно пользоваться, даже когда у тебя нет телефона. Если я покупал билет в официально продающей их компании (а не у подозрительного посредника), то точно знал, что он настоящий. Не было никакой опасности, что тебя с этим билетом не пустят. Можно было спокойно отправлять их друзьям по WhatsApp, iMessage, Signal, электронной почте или даже передавать распечатанные билеты из рук в руки.
Читать дальше →
Total votes 151: ↑151 and ↓0+183
Comments48

Разбираем устройство радарного датчика движения стоимостью $1

Level of difficultyMedium
Reading time5 min
Views26K

Недавно я приобрёл дешёвые микроволновые датчики движения RCWL-0516, отчасти с целью понять, как китайцы умудрились собрать радар стоимостью меньше доллара.

Заставить работать такой оказалось несложно. Я просто подключил контакт VIN к 5 вольтам, GND к земле и добавил блокировочный конденсатор на контакт 3V3. Когда в радиусе 5 метров происходит какое-то движение, контакт OUT на 3 секунды поднимает уровень напряжения до 3 В.

В общем, девайс работает, но как?

Начал я с того, что нашёл спецификацию для большой микросхемы SOIC-16. Оказывается, BISS0001 — это инфракрасный датчик движения? Как же он устроен?
Читать дальше →
Total votes 65: ↑64 and ↓1+93
Comments25

Драйвер Ethernet для xv6

Level of difficultyMedium
Reading time7 min
Views1.5K

Xv6 - учебная ОС - рассказывает об идеях, что лежат в основе операционных систем.

Научим xv6 работать в сети, познакомимся со стандартом виртуальных устройств VirtIO, деревом устройств DeviceTree, технологией Ethernet, сетевыми протоколами, возведем сетевой мост между виртуальными машинами.

Читать далее
Total votes 9: ↑9 and ↓0+11
Comments3

Systemd для продолжающих. Part 1 — Запуск юнитов по временным событиям

Reading time10 min
Views38K

Всем привет! В последнее время я вплотную занимаюсь исследованием возможностей systemd и решил поделиться результатом исследований с сообществом, в виде небольшого (или большого, как пойдёт ;-) цикла статей. Итак первым номером нашей программы будет запуск юнитов по различным событиям происходящим во время работы ОС. В качестве исследовательской платформы будет выступать Manjaro Linux c systemd v247.2. И... да. Некоторые события, вынудили меня написать внеочередную статью, которая «взлетела на вершину хит-парада», а опрос показал, что тема актуальна и вызывает интерес, так что погнали!

Нырнуть в кроличью нору!
Total votes 62: ↑60 and ↓2+68
Comments23

systemD с 0 до 1: библия сисадмина

Level of difficultyMedium
Reading time27 min
Views24K


Что бы кто не говорил, systemD становится стандартом систем инициализацией в линуксе. И с 80% вероятностью все сервера будут с systemD. Не факт, конечно, есть и личные сервера, на которых может стоять хоть Gentoo, хоть Devuan, хоть NixOS.

Некоторые дистрибутивы хотят даже перейти с загрузчика Grub на systemd-boot! Потому знать, как работать с данной системой инициализации, должен каждый сисадмин и просто программист, ибо сейчас он практически везде.

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

А также напишем небольшой скрипт на Python для автомизации некоторых задач. Приятного чтения, господа линуксоиды и просто пользователи!
Читать дальше →
Total votes 51: ↑46 and ↓5+53
Comments11

Rhasspy — опенсорсный и полностью офлайновый речевой тулкит. Распознавание русского языка. Никаких утечек в облако

Reading time3 min
Views36K

Фото из сравнения микрофонных массивов для DIY-устройств типа самодельной умной колонки

Системы вроде Amazon Echo передают в облако для хранения ваши конфиденциальные разговоры (даже записанные случайно). В некоторых случаях записи прослушиваются живыми операторами. Это не просто потеря конфиденциальности. Это как добровольно впустить в свою квартиру «товарища майора», который стоит рядом 24 часа в сутки, слушает и внимательно записывает, притворяясь услужливым ассистентом.

Вместо покупки коммерческой системы у корпораций типа Google, Amazon или «Яндекс», вы можете собрать аналогичную опенсорсную систему на базе Raspberry Pi 2-3 B/B+, персонального компьютера или ноутбука.

Rhasspy — безопасный голосовой помощник, который работает автономно. Он ничего не передаёт на удалённые сервисы, при этом успешно справлятся с распознаванием речи и голосовых команд.
Читать дальше →
Total votes 38: ↑34 and ↓4+40
Comments51

Моя б̶е̶з̶умная колонка: часть вторая // программная

Level of difficultyEasy
Reading time16 min
Views7.9K

Привет, Хабр!

В прошлой статье я описал аппаратную реализацию своего голосового ассистента на базе бюджетного одноплатника Orange Pi Zero 2W с 4Гб оперативной памяти. Эту же статью хочу посвятить программной реализации данного устройства. Если стало интересно, то добро пожаловать под кат.
Читать дальше →
Total votes 40: ↑40 and ↓0+53
Comments30

Я сделаю свою «умную» колонку… «with blackjack and hookers!»

Reading time7 min
Views58K

Я сделаю свою «умную» колонку… «with blackjack and hookers!»

Привет всем. В данной статье я расскажу историю как мы с двоюродным братом сделали свою «умную» колонку-голову робота Бендера из Футурамы.

Читать далее
Total votes 134: ↑134 and ↓0+134
Comments47
1
23 ...

Information

Rating
Does not participate
Registered
Activity