Pull to refresh

Изготовление консольного кабеля для GuruPlug/GuruPlug Plus

DIY
В прошлый раз хотя я довольно подробно описал саму железяку, но практически не упоминал ничего о том как подключиться к последовательной консоли сервера. Это связано с тем, что в отличии от SheevaPlug ушлые китайцы решили не ставить USB-rs232 и USB-jtag интерфейсы, хотя продолжают класть в поставку USB — miniUSB кабель. Причем в FAQ написано, что это не баг, а фича. Чтобы воспользоваться кабелем надо всего, на всего купить GuruPlug JTAG Board, который стоит у NewIT не много не не мало, а 32 фунта.
Что же делать?
Total votes 16: ↑15 and ↓1 +14
Views 3.2K
Comments 19

Заметки о восстановлении работы встраиваемых систем

Computer hardware
Sandbox
Попытался собрать свой опыт портирования OpenWRT на встраиваемое оборудование. В этой статье расскажу о том как работать с загрузчиком u-boot и основных проблемах возникающих при загрузке операционной системы.
Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Views 3.5K
Comments 2

Собираем свой Android для BeagleBoard

Development for Android *
Sandbox

В этой статье, я хочу рассказать о процессе сборки Android, для контроллеров ARM. Надеюсь что для кого то эта статья окажется полезной, не только разработчику но и не искушённому пользователю. В основном конечно, хотелось бы показать как происходит сам процесс сборки, операционной системы для мобильных устройств. В качестве «подопытного кролика» я выбрал BeagleBoard-xM.
Это одна из отладочных плат, которые, как нельзя лучше подходят для подобных целей. кроме всего прочего она обладает HDMI и S-VIDEO выходами, для того что бы «пощупать» результат. А так же 4-я USB портами, которых вполне хватает для подключения клавиатуры, мышки и т.п. В своих экспериментах, я использовал BeadaFrame купленную на eBay, однако это условие абсолютно не принципиально, так как подойдёт любой «телевизор».
Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Views 22K
Comments 7

Поднимаем SOC: ARM + FPGA

System Programming *FPGA *
Sandbox
Tutorial


На днях ко мне в руки попала EBV SoCrates Evaluation Board. В двух словах — это плата с SoC от фирмы Altera, на борту которой есть двухъядерный ARM и FPGA Cyclone V.

ARM и FPGA на одном чипе — это должно быть очень интересно! Но для начала всё это добро нужно «поднять».
Об этом процессе я и поведаю в данной статье.

Если вам в руки попала такая или подобная плата и вы не до конца уверены, что же с ней нужно делать. Если вы всегда думали, что FPGA — это что-то сложное и непонятно, как к этому подступиться. Или вы просто любопытный инженер. Тогда заходите. Мы всем рады.

А в качестве маленького бонуса измерим пропускную способность между CPU и FPGA.
Добро пожаловать
Total votes 58: ↑57 and ↓1 +56
Views 100K
Comments 29

Реанимация D-Link NAS DNS-325

Configuring Linux *Data recovery *
Sandbox
Добрый день!

Хочу поделиться историей о том, как я чинил примус свой домашний NAS D-Link DNS-325.

Сам NAS у меня обычно в режиме минимального потребления электроэнергии с выключенными жёсткими дисками WD Green (установлен fun_plug на внешнюю USB флешку, об этой «прокачке» есть статья на Хабре). Однажды, после отпуска, я включил питание на NAS, чтобы просмотреть/загрузить фотографии. Он не включился. Cветодиод питания весело замигал, загорелись индикаторы сотояния HDD, но мигание продолжалось и продолжалось без признаков жизни. При нормальных условиях мигание означает процесс загрузки, который должен завершиться полной инициализацией и установлением стабильного свечения power LED. После многих попыток запустить устройство, отключения жёстких дисков, нажатия кнопки reset (которая, кстати, безполезна пока загрузка не завершится успешно), я с горечью осознал, что это не тривиальная проблема, с которой мне прийдётся справиться самому из-за истёкшей гарантии (12 месяцев).
Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Views 37K
Comments 7

Знакомство с возможностями свитч-процессора Realtek RTL 8332M

Promwad corporate blog System Analysis and Design *Network technologies *Manufacture and development of electronics *Network hardware


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

На днях в нашем распоряжении оказалась демо-плата многопортового коммутатора RTL_8332M_DDR3_DEMO_P2L_V1.0 на базе свитч-процессора Realtek 8332M, а также фирменный комплект средств разработки. Под катом мы расскажем, что собой представляет эта плата, опишем процесс сборки и загрузки прошивки на основе Realtek SDK, а также протестируем пропускную способность полученного коммутатора с проверкой работоспособности QoS.
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Views 14K
Comments 15

Banana Pi: через U-Boot к Arch Linux

Configuring Linux **nix *
Sandbox
Уже четвёртый год подряд, с момента выпуска Raspberry Pi, на рынки всего мира поставляются различные микрокомпьютеры на отличных от x86 архитектурах, которые выполняют роль медиацентров, контроллеров умных домов, веб-серверов и чего только душа гика не пожелает!

К 2014-2015 году не все были довольны вычислительными возможностями «малинки» и начался выпуск десятков его клонов с более мощным железом. У большинства из них есть недостатки: фиксированная устаревшая версия ядра и загрузчика, небольшой выбор дистрибутивов. Под катом расскажу о том, как сбросить оковы вендора на примере Banana Pi.
Познать путь к свежему софту
Total votes 19: ↑19 and ↓0 +19
Views 60K
Comments 24

Ручная правка uboot-elf во имя DHCP и SSH

«Лаборатория Касперского» corporate blog
Recovery mode
Как-то раз мне попалась в руки железка AEWIN SCB-3240, которой следовало навеки поселиться в серверной стойке с целью никогда больше к ней не прикасаться. Использовать её планировалось не по прямому назначению, а с целью тестирования нашего продукта. Есть у Лаборатории Касперского традиция — выпускать антивирусный SDK для всех мыслимых платформ, лишь бы было там что-то, способное компилировать код на C. Соответственно, SDK нужны антивирусные базы, которые, несмотря на то, что они едины для всех продуктов, все же надо тестировать — на случай ошибки в самом SDK, или загрузчике баз, или каких-то особенностей платформы, или… В общем, миллион причин. И чтобы о проблемах мы узнавали немного раньше, чем из новых кейсов в саппорт, последней линией обороны стоят десятки железок, проверяющих каждый набор антивирусных баз на работоспособность.

То есть, интерес представляли не возможности AEWIN по работе с сетью, а исключительно её суть в виде MIPS / Linux. Проблема была в том, что железка не предусматривала никакого адекватного присоединения. Все, что мне предлагалось — консольный порт, telnet и никакого dhcp.

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

Итого, что мне было нужно. Научить получать адрес по DHCP, научить её принимать подключения по SSH, и постараться не сломать по дороге.
Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Views 8.2K
Comments 3

Увеличиваем потенциал брошенного производителем сетевого хранилища

Configuring Linux *Nginx **nix *Backup *Data storages *
Tutorial

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


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


Эта история о том, что можно сделать самостоятельно, имея начальные навыки, желание и время разобраться в процессе обновления програмного обеспечения ПО встраиваемых устройств.


image


Для нетерпеливых: в конце получился полноценный аппарат с актуальной версией загрузчика U-Boot, image Debian Jessie и image OpenMediaVault на борту.

Читать дальше →
Total votes 38: ↑38 and ↓0 +38
Views 40K
Comments 34

Vertex Wireless VW210: редкий роутер и его внутренний мир

Information Security *
Sandbox
Лирическое отступление: всё описанное в данной статье производилось исключительно в образовательных целях, цели извлечения материальной выгоды не преследовалось, ни одного котика в процессе (надеюсь) не пострадало. Всё, что здесь описано вы повторяете на свой страх и риск.
КДПВ курильщика (для тех, у кого дорогой трафик)

КДПВ курильщика (для тех, у кого дорогой трафик)

Несколько лет в глухой деревне трудится, не покладая рук, этот неуловимый Джо сетевой промышленности. Выбор пал на него, благодаря поддержке единственно рабочего решения для данной местности, а именно CDMA 450 от местного оператора «Сотел» (аля SkyLink). В отличии от других роутеров/модемов для данного стандарта того времени он единственный позволил добиться устойчивой связи с помощью какой-то матери и направленной антенны. Но вот беда: сайт производителя (а возможно и он сам) исчез с горизонта этих наших интернетов в далёком 2011 году. Осталось лишь пафосное видео на YouTube и упоминания их продуктов у разномастных продавцов и операторов.
Внимание! Под спойлером много картинок большого размера и с гикпорн содержанием!
Total votes 35: ↑35 and ↓0 +35
Views 13K
Comments 17

EJTAG: аттракцион для хакеров-2

Computer hardware Software CPU DIY

В моих предыдущих публикациях EJTAG: аттракцион для хакеров и Black Swift: использование EJTAG рассматривался самый простой сценарий применения EJTAG — загрузка в ОЗУ и запуск на исполнение программы пользователя. Однако, возможности EJTAG этим не ограничиваются. В публикации рассказывается как организовать несложную отладку кода при помощи EJTAG, используя свободно-распространяемые программные средства openocd и GDB.
Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Views 9.1K
Comments 0

Как я реанимировал устройство (JTAG-эмулятор BH-USB-560v2) через U-Boot

Data recovery *Reverse engineering *

У меня есть сомнения, что JTAG-эмулятор для отладки процессоров фирмы Texas Instruments — настолько распространённое устройство, чтобы его реанимация была бы кому-то интересна. Однако статья может быть полезна тем, кто пытается реанимировать что-нибудь на базе одноплатника с Linux, имея ограниченные ресурсы и информацию. Можно рассматривать это как некоторый практикум работы с U-Boot.


Blackhawk USB560v2

Читать дальше →
Total votes 41: ↑40 and ↓1 +39
Views 21K
Comments 9

Почему открытые прошивки важны для безопасности

Information Security *Open source *Development for Linux *Computer hardware
Translation
Недавно на GoTo Chicago я читала лекцию на эту тему и подумала, что будет неплохо написать статью с выводами. Этот пост посвящён тому, почему прошивки с открытым исходным кодом важны для безопасности.

Уровни привилегий


В типичном стеке у вас различные уровни привилегий.

  • Кольцо 3. Приложения: минимальные привилегии, за исключением песочницы в пользовательском пространстве, которая ещё больше ограничена.
  • Кольцо 0. Ядро: ядро операционной системы, в случае ОС с открытым исходным кодом вы видите его код.
  • Кольцо −1. Гипервизор: мониторинг виртуальных машин (VMM), создаёт и запускает виртуальные машины. В гипервизорах с открытым исходным кодом, таких как Xen, KVM, bhyve и другие, вы видите код.
  • Кольцо −2. Режим управления системой (SMM), ядро UEFI: проприетарный код, подробнее об этом ниже.
  • Кольцо −3. Движок управления: проприетарный код, подробнее об этом ниже.

Отрицательные кольца указывают на уровни с привилегиями больше, чем у нулевого.
Total votes 30: ↑29 and ↓1 +28
Views 7.2K
Comments 10

Часть 3: Почти что грузим Linux с SD-карты на RocketChip

Open source *System Programming *Debugging *FPGA *DIY

В предыдущей части был реализован более-менее работающий контроллер памяти, а точнее — обёртка над IP Core из Quartus, являющаяся переходником на TileLink. Сегодня же в рубрике «Портируем RocketChip на малоизвестную китайскую плату с Циклоном» вы увидите работающую консоль. Процесс несколько затянулся: я уже было думал, что сейчас по-быстрому запущу Linux, и пойдём дальше, но не тут то было. В этой части предлагаю посмотреть на процесс запуска U-Boot, BBL, и робкие попытки Linux kernel инициализироваться. Но консоль есть — U-Boot-овская, и довольно-таки продвинутая, имеющая многое из того, что вы ожидаете от полноценной консоли.


В аппаратной части добавится SD-карта, подключённая по интерфейсу SPI, а также UART. В программной части BootROM будет заменён с xip на sdboot и, собственно, добавлены следующие стадии загрузки (на SD-карте).

Читать дальше →
Total votes 22: ↑20 and ↓2 +18
Views 6.2K
Comments 12

Построение отказоустойчивой системы Embedded Linux на базе модуля Mars ZX3 фирмы Enclustra

System Programming *Development for Linux *FPGA *
Sandbox
В связи с загруженностью специалистов, несколько лет назад мы вынуждены были отдать одну разработку контрагентам. Разработка велась на модуле Mars ZX3 фирмы Enclustra, в котором используется SOC ARM+FPGA Zynq-7020. Для сборки Linux использовался BSP от Enclustra (bsp-xilinx), который был немного модифицирован.

В процессе тестирования разработанного программного обеспечения, мы сразу же столкнулись с отказами ПО при выключении питания. При анализе, обнаружилось, что команды конфигурирования, отправляемые на устройство по сети, записывались в файлы, которые, при сбое питания, иногда оказывались пустыми или отсутствовали совсем. Это вынудило нас пересмотреть идеологию построения переданной нам сборки Linux. Сам процесс построения системы хорошо описан на сайте изготовителя модуля, поэтому не буду на нем останавливаться. Опишу только то, что позволило решить стоящую перед нами задачу повышения надежности и предотвращения отказов.
Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Views 4.7K
Comments 5

Безопасная загрузка в i.MX6

Configuring Linux *Manufacture and development of electronics *

Безопасная загрузка в i.MX6


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

  • Как защитить прошивку от подмены в изделии;
  • Как защитить ПО от копирования.

В данной статье описано как защитить процессор i.MX6 от подмены загрузчика в изделии и усложнить процесс копирования прошивки.


Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Views 2.6K
Comments 1

STM32MP1: U-Boot, Buildroot, Arch Linux и немного Debian

Configuring Linux *Development for Linux *
Sandbox
Привет, Хабр!

Некоторое время назад компания STMicroelectronics выпустила интересные процессоры серии STM32MP1. Когда у меня наконец-то дошли руки до отладочной платы на основе этого процессора, я с некоторым удивлением обнаружил, что для нее отсутствуют какие-либо сборки на основе популярных дистрибутивов (Debian, Arch Linux и др). Оставалось только попробовать самому адаптировать какой-нибудь дистрибутив под данную плату. По результатам этого и появилась данная статья.


Читать дальше →
Total votes 39: ↑39 and ↓0 +39
Views 16K
Comments 41

Заводим GNU/Linux на ARM-плате с нуля (на примере Kali и iMX.6)

RUVDS.com corporate blog Configuring Linux *
Tutorial
tl;dr: собираю образ Kali Linux для ARM-компьютера, в программе debootstrap, linux и u-boot.



Если вы покупали какой-нибудь не очень популярный одноплатник, то могли столкнуться с отсутствием для него образа любимого дистрибутива. Приблизительно то же самое случилось с планируемым Flipper One. Kali Linux под IMX6 просто нету (я готовлю), поэтому собирать приходится самостоятельно.
Читать дальше →
Total votes 38: ↑34 and ↓4 +30
Views 12K
Comments 15

Error: success и что делать по этому поводу

Industrial Programming *Development for Linux *CPU

image


Всем начинающим программистам всегда рассказывают о важности правильного формирования сообщения об ошибках. Всегда говорят о том, что если программа что-то не смогла сделать, то она должна ясно и недвусмысленно рассказать почему это произошло. Рассказывают о важности контроля возвращаемого значения вызываемых функций. При этом даже компиляторы научились выдавать предупреждения если возвращаемое определенными функциями значение игнорируется. Надо сказать что важность обработки ошибок современными программистами принята. Временами это приводит к занятным казусам, как на КДПВ (взята здесь). Мне в реальной жизни несколько раз приходилось сталкиваться с подобными странными диагностическими сообщениями. О последнем случае и методах преодоления такой вот диагностики я и хочу рассказать. Если стало интересно милости прошу под кат. Опытные программисты наверняка не откроют для себя ничего нового, но пофилософствовать о разработке ПО точно смогут.

Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Views 2.9K
Comments 6

Embedded Linux в двух словах. Первое

Configuring Linux *Open source *C *DIY
Tutorial

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

Платформой послужит плата BeagleBone Black с процессором производства Техасских Инструментов AM3358 и ядром Arm Cortex-A8, и, чтобы не плодить мигающие светодиодами мануалы, основной задачей устройства будет отправка смайлов в топовый чат, широко известного в узких кругах, сайта,  в соответствии с командами от смайл-пульта. Впрочем, без мигания светодиодами тоже не обошлось.

Читать далее
Total votes 47: ↑45 and ↓2 +43
Views 24K
Comments 15
1