Добрый день, уважаемыее. В прошлой статье мы с вами разработали простую USB-видеокарту на базе STM32F103 и китайского дисплейного модуля на контроллере ILI9325.
Проверяли мы его из юзерспейса, при помощи LibUSB. Ну что ж, пришло время нам написать свой собственный драйвер, который позволит делать все то же самое, но из-под Linux и без дополнительных библиотек. Этот драйвер мы внесем в дерево исходников OpenWRT и он поселится там наравне со всеми остальными.
Начнем.
Читать полностью »
Рубрика «kernel» - 7
Миникомпьютер из роутера с OpenWRT: пишем USB class-driver под Linux
2012-12-31 в 2:50, admin, рубрики: DIY, diy или сделай сам, kernel, lcd, linux, OpenWrt, stm32, stm32f103, usb, драйверы, микроконтроллеры, модули ядра, Электроника для начинающих, метки: DIY, kernel, lcd, linux, OpenWrt, stm32, stm32f103, usb, драйверы, микроконтроллеры, модули ядраМиникомпьютер из роутера с OpenWRT: разрабатываем USB-видеокарту
2012-12-23 в 23:21, admin, рубрики: DIY, diy или сделай сам, kernel, lcd, linux, OpenWrt, stm32, stm32f103, usb, драйверы, микроконтроллеры, модули ядра, Электроника для начинающих, метки: DIY, kernel, lcd, linux, OpenWrt, stm32, stm32f103, usb, драйверы, микроконтроллеры, модули ядра
Добрый день, уважаемыее. В этом цикле статей мы с вами пройдем достаточно длинный, но весьма интересный путь по превращению обычного роутера в мини-компьютер с LCD-дисплеем. Для этого мы разработаем сначала USB-видеокарту на базе микроконтроллера STM32F103, потом тестовый дравйвер, который позволит нам выводить на него графику, и, наконец – полноценный драйвер фреймбуффера, благодаря которому можно будет запустить настоящие графические приложения, такие как x-сервер. Заодно мы научимся включать наш код в дерево исходников OpenWRT, допиливать его ядро и делать прочие полезные вещи.
Ну а в самом конце мы получим результат, который, я надеюсь, вызовет ностальгическую слезу у многих читателей. Я постараюсь излагать материал таким образом, чтобы в конце каждого этапа мы получали осязаемый результат, не дающий угаснуть энтузиазму. Итак, начнем.
Читать полностью »
Anonymous слили исходный код ядра VMware ESX
2012-11-04 в 18:02, admin, рубрики: kernel, VMware, виртуализация, системное администрирование, метки: kernel, vmware
Пользователь твиттера с ником STUN опубликовал сегодня исходные коды ядра VMware ESX Server.
WILD LEAKY LEAK. FULL VMware ESX Server Kernel LEAKED 1337x.org/torrent/421062/VMware-ESX-Server-Kernel-LEAKED/ #Anonymous #AntiSec
Строим Android x86
2012-10-09 в 9:24, admin, рубрики: android, emulation, kernel, x86, Блог компании Intel, метки: android, emulation, kernel, x86 Существует множество задач, для которых требуется пересборка ядра и операционной системы Android в целом. Например, создание и отладка собственных модулей, включение поддержки профилирования системы и просто тестирование своих приложений на новой версии Android.
Возможность запуска Android x86 внутри виртуальной машины VirtualBox позволяет энтузиастам и создателям прошивок покопаться в настройках системы, настроить и пересобрать ядро и при этом не «кирпичизировать» настоящее устройство. VirtualBox предоставляет возможность использования привычных для Linux-разработчика средств отладки ОС. Для рядовых разработчиков Android-приложений отлично подходит эмулятор, использующий технологию Intel Hardware Accelerated Execution Manager. (подробнее можно прочесть здесь)
В статье приведен ряд практических советов по сборке образа Android x86 для запуска под виртуальной машиной VirtualBox и сборке эмулятора. Исходный код Android взят из официального репозитория проекта AOSP (Android Open Source Project), в качестве ядра использована адаптированная версия ядра Linux 2.6 от Intel.
Читать полностью »
Запуск Linux на планшете с SoC Allwinner A10 на борту
2012-08-14 в 20:37, admin, рубрики: AllWinner A10, armhf, Debian, kernel, linux, SoC, sunxi, метки: AllWinner A10, armhf, Debian, kernel, linux, SoC, sunxi, АРМПредыстория
Приобрел я себе планшет на SoC Allwinner A10 (sun4i — кодовое название процессора AllWinner A10 ARMv7-A архитектуры семейства Cortex ядро A8). Сначала игрался с ним на Android 2.x потом на 4.x, но со временем мне стало этого мало. Да еще начали выпускать миникомпьютеры на основе этой SoC с Linux на борту. Я подумал: «Хм, а чем мой планшет хуже?» и занялся делом. Как оказалось, за меня уже все сделали, и дела делать не пришлось:
- Ядро оптимизировали для данной платформы
- Загрузчик оптимизировали к этой платформе
- Вышел новый порт debian armhf.
Осталось только все это дело сконфигурирован и собрать.Читать полностью »
Первое знакомство с ядром линукс версии 3.3 и 3.4
2012-07-17 в 11:00, admin, рубрики: android, filesystem, kernel, linux, network, open vSwitchДалее — перевод статьи с сайта IBM. Вряд ли вы узнаете что-то принципиально новое из неё. Данную статью хорошо использовать как отправную точку для чтения об интересных или ранее неизвестных вам особенностях Линукс. Часть ссылок я привёл в тексте статьи курсивом, часть можно увидеть в конце оригинальной статьи. Мои пояснения или комментарии выделены курсивом.
В релизы ядра Линукс версий 3.3 и 3.4 вошло впечатляющее количество улучшений. Однако эти релизы не просто развитие ядра, но зловещий рубеж на пути этого развития.
Релиз версии 3.3 — первый релиз ядра линукс, объём которого превысил 15 миллионов строк (пусть даже по откровенно кривому способу измерения). Если вы вычтете изменяему, непостоянную часть кода (различные драйвера, платформозависимый код и различные утилиты), число строк падает немного ниже 4 миллионов — левиафан собственной персоной.
Читать полностью »
Обновления ядра Ubuntu с помощью Bash
2012-06-16 в 16:28, admin, рубрики: bash, kernel, Ubuntu, Убунтариум, метки: bash, kernel, UbuntuЧасто бывает так, что поставив новую стабильную систему, да ещё и отмеченную как LTS, вам всё равно хочется поставить новое ядро (в котором, например, улучшено энергосбережение и наконец-то заработает ваш новый планшет Genius).
Патчить и собирать ядро из исходников — игра, конечно, интересная, но для ленивых пользователей Ubuntu существует готовый репозиторий. Одна беда — скачивать пакеты и следить за обновлениями придётся вручную.
До недавнего времени за обновлениями можно было следить, к примеру, на сайте где ко всему прочему публиковались списки команд для каждой архитектуры, которые можно было просто скопировать в терминал. Но недавно появился скрипт который и послужил мотивом для создания этого очерка.
Я искренне верю, что авторы скрипта задавались единственной целью — перестать публиковать надоевшие списки команд и объяснять в комментариях какая у кого архитектура, но тем не менее скупая мужская слеза покатилась по моей щеке когда я смотрел на его содержимое.
Поэтому я решил сделать паузу и вспомнить как же это делалось раньше, когда деревья были большими, а иногда даже бинарными.
Читать полностью »
Обновления ядра в Ubuntu с помощью Bash
2012-06-16 в 16:28, admin, рубрики: bash, kernel, Ubuntu, Убунтариум, метки: bash, kernel, UbuntuЧасто бывает так, что поставив новую стабильную систему, да ещё и отмеченную как LTS, вам всё равно хочется установить новое ядро (в котором, например, улучшено энергосбережение и наконец-то заработает ваш новый планшет Genius).
Патчить и собирать ядро из исходников — игра, конечно, интересная, но для ленивых пользователей Ubuntu существует готовый репозиторий. Одна беда — скачивать пакеты и следить за обновлениями придётся вручную.
До недавнего времени за обновлениями можно было следить, к примеру, на сайте где ко всему прочему публиковались списки команд для каждой архитектуры, которые можно было просто скопировать в терминал. Но недавно появился скрипт который и послужил мотивом для создания этого очерка.
Я искренне верю, что авторы скрипта задавались единственной целью — перестать публиковать надоевшие списки команд и объяснять в комментариях какая у кого архитектура, но тем не менее скупая мужская слеза покатилась по моей щеке когда я смотрел на его содержимое.
Поэтому я решил сделать паузу и вспомнить как же это делалось раньше, когда деревья были большими, а иногда даже бинарными.
Читать полностью »
А как же всё-таки работает многопоточность? Часть I: синхронизация
2012-05-28 в 3:57, admin, рубрики: concurrency, java, kernel, multithreading, scheduler, switching, synchronization, Программирование, системное программирование, метки: concurrency, java, kernel, multithreading, scheduler, switching, synchronization, ОС (пост из серии «я склонировал себе исходники hotspot, давайте посмотрим на них вместе»)
Все, кто сталкивается с многопоточными проблемами (будь то производительность или непонятные гейзенбаги), неизбежно сталкиваются в процессе их решения с терминами вроде «inflation», «contention», «membar», «biased locking», «thread parking» и тому подобным. А вот все ли действительно знают, что за этими терминами скрывается? К сожалению, как показывает практика, не все.
В надежде исправить ситуацию, я решил написать цикл статей на эту тему. Каждая из них будет построена по принципу «сначала кратко опишем, что должно происходить в теории, а потом отправимся в исходники и посмотрим, как это происходит там». Таким образом, первая часть во многом применима не только к Java, а потому и разработчики под другие платформы могут найти для себя что-то полезное.
Перед прочтением глубокого описания полезно убедиться в том, что вы в достаточной мере разбираетесь в Java Memory Model. Изучить её можно, например, по слайдам Сергея Walrus Куксенко или по моему раннему топику. Также отличным материалом является вот эта презентация, начиная со слайда #38.
Читать полностью »
Что нового в Red Hat Enterprise Linux 6.2
2012-04-22 в 15:35, admin, рубрики: filesystem, kernel, linux, network, red hat, rhel, virtualization, операционные системы, системное администрированиеПосле выхода RHEL 6.2 начал переводить "What's new in Red Hat Enterprise Linux 6.2", но т.к. постоянно появлялись более интересные материалы, закончил перевод только сейчас (немного сократил его). Надеюсь, что актуальность поста не совсем потеряна.
В конце 2011 года, спустя тринадцать месяцев после релиза Red Hat Enterprise Linux 6, выпущено второе обновление корпоративного дистрибутива Linux. Оно является логическим продолжением первого обновления и содержит не только исправления, вышедшие после RHEL 6.1, но и обширный список новых функций — значительно улучшены виртуализация, управление ресурсами и файловыми системами. Читать полностью »