Ретроконсоль своими руками Часть 2. Установка и настройка RetroPie

В предыдущей статье мы подобрали все необходимые компоненты для сборки нашей самодельной ретроконсоли. Настало время вдохнуть в нее жизнь! В этом нам поможет RetroPie — операционная система, основанная на Linux-дистрибутиве Raspbian OS и представляющая собой сборник эмуляторов разнообразных игровых приставок прошлых лет и удобный менеджер для работы с вашей игротекой в одном лице. Хотя это отнюдь не единственное из доступных решений, по нашему мнению, именно данная сборка лучше всего подходит новичку, так как требует минимальных навыков для базовой установки и настройки, отличаясь при этом стабильностью и достаточно широким спектром возможностей. Итак, приступим.

1. Подготовка microSD-карты

Первое, что необходимо сделать, — установить RetroPie на карту памяти, которая будет исполнять роль системного накопителя. Объем карточки всецело зависит от того, как именно вы планируете использовать консоль. Если вы собираетесь играть исключительно в 8/16-битные проекты или запускать игры с внешних носителей (а такую возможность RetroPie также поддерживает), то вам вполне хватит SanDisk Ultra на 32 гигабайта. В противном же случае стоит приобрести microSD-карту емкостью 128–256 ГБ: вряд ли вам понадобится хранить в памяти ретроконсоли все когда-либо выходившие игры для PlayStation и DreamCast, а для избранных релизов такого объема должно быть вполне достаточно.

Карты памяти данной серии относятся к классу A1 (Application Performance Class). Это означает, что даже в самых неблагоприятных условиях их производительность не опускается ниже 1500 IOPS при случайном чтении и 500 IOPS — при записи файлов, при этом скорость передачи данных в последовательных операциях достигает 100 МБ/с. Таким образом, с одной стороны, вы сможете достаточно быстро загружать в память консоли даже объемные ROM’ы, а с другой — не будете испытывать проблем при работе с RetroPie или во время игр.

Если в вашем компьютере или ноутбуке отсутствует встроенный карт-ридер, для подключения флеш-карты вы можете воспользоваться SanDisk MobileMate USB 3.0. Благодаря компактным размерам устройства, его будет достаточно удобно использовать и с самой ретроконсолью, если у вас вдруг возникнет такая потребность.

Для установки RetroPie проще всего воспользоваться Raspberry Pi Imager — инсталлятором с функцией автоматической загрузки дистрибутивов из сети, доступным в версиях для операционных систем Windows, Mac OS и Ubuntu. После подключения карты памяти к ПК или ноутбуку запустите утилиту, нажмите на «CHOOSE OS», а затем выберите «Emulation and game OS» —> «RetroPie» —> «RetroPie version_number (RPI 4/400)». 

Теперь кликните по «CHOOSE SD CARD», выберите нужную флеш-карту и запустите установку RetroPie, нажав на кнопку «WRITE». Дождитесь окончания процедуры.

2. Настройка геймпада

Установите карту памяти в microSD-слот Raspberry Pi, подключите геймпад через USB-кабель и включите ретроконсоль. Сразу после подачи питания инициируется процедура настройки системы, которая занимает в среднем около 1,5–2 минут.

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

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

Если вы затрудняетесь с выбором, предлагаем вашему вниманию стандартную раскладку для контроллеров семейства DualShock и их аналогов.

Примечание. В самом конце RetroPie попросит вас задать кнопку «Hotkey». Лучше всего выбрать в качестве хоткея кнопку «Home», так как она не задействуется в играх. Если на вашем геймпаде таковая отсутствует (например, вы используете реплику оригинального контроллера для SNES), то на ее роль вполне сгодится кнопка «Select». Хоткеи открывают доступ к дополнительным функциям RetroArch/Libretro-based-эмуляторов, входящих в состав RetroPie. Список доступных комбинаций приведен в таблице ниже.

Комбинация клавиш

Команда

Хоткей + Start

Выход

Хоткей + Правый бампер

Сохранить игру

Хоткей + Левый бампер

Загрузить сохранение

Хоткей + Вправо

Следующий слот сохранения

Хоткей + Влево

Предыдущий слот сохранения

Хоткей + X

Внутриигровое меню

Хоткей + B

Сброс

Внутриигровое меню обеспечивает доступ к дополнительным функциям эмулятора
Внутриигровое меню обеспечивает доступ к дополнительным функциям эмулятора

3. Активация полноэкранного режима

После первого включения вы наверняка обратите внимание на наличие черной рамки по краю экрана.

Давайте от нее избавимся.

1. Зайдите в меню «CONFIGURATION», нажав кнопку «A» на геймпаде, и перейдите в раздел «RASPI-CONFIG».

2. Выберите пункт «7 Advanced Options».

3. Зайдите в «A2 Overscan».

4. Выберите «No».

5. Нажмите «Ok».

6. Нажмите «Finish», чтобы завершить процесс настройки.

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

После перезапуска RetroPie будет работать в полноэкранном режиме.

4. Подключение беспроводных девайсов по Bluetooth

RetroPie поддерживает большинство игровых контроллеров и беспроводных клавиатур, так что проблем с подключением у вас возникнуть не должно. Тем не менее давайте посмотрим, как это сделать, на примере геймпада 8BitDo SN30 Pro. Обратите внимание на то, что перед выполнением действий, описанных ниже, необходимо обновить прошивку девайса до актуальной с помощью утилиты с официального сайта производителя, а затем включить устройство, нажав одновременно кнопки «Y» + «Start», и перевести его в режим сопряжения, нажав расположенную на верхнем торце геймпада кнопку «Pair» и удерживая ее в течение 3 секунд.

Теперь можно приступать к настройке.

1. Вновь зайдите в меню «CONFIGURATION» и перейдите в раздел «BLUETOOTH».

2. Активируйте «8BitDo mapping hack».

Примечание. «Mapping hack» рекомендуется включать для всех геймпадов 8BitDo с версией микропрограммы ниже 4.0. Если вы используете, например, контроллер 8BitDo SN30 Pro+ с актуальной версией прошивки (5.01 на момент написания данного материала), просто пропустите этот шаг.

3. Перейдите в раздел «Register and Connect to Bluetooth Device».

4. RetroPie инициализирует поиск доступных устройств, после чего выведет их перечень на экран. Выберите геймпад 8BitDo из списка.

5. На следующем шаге выберите опцию «DisplayYesNo».

6. Система сообщит о том, что устройство было успешно зарегистрировано и подключено.

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

5. Подключение ретроконсоли к WiFi

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

1. Как и ранее, зайдите в «CONFIGURATION» и выберите «WiFi».

2. Далее зайдите в «Network Options».

3. Перейдите в раздел «Wi-fi».

4. Выберите вашу страну из списка.

5. Перейдите в раздел «Connect to WiFi network».

6. Выберите свой роутер из списка доступных устройств.

7. Введите пароль для подключения к сети.

8. Raspberry Pi подключится к роутеру. Теперь на экране настройки WiFi в левом верхнем углу отобразится локальный IP-адрес устройства. Запишите его.

6. Загрузка игр и BIOS

Базовая настройка консоли завершена. Осталось загрузить в память устройства игры, и можно наслаждаться геймингом в стиле ретро! Сделать это можно прямо с ПК, находящегося в той же локальной сети. Наберите в строке проводника «retropie» или IP-адрес, присвоенный консоли роутером. На экране отобразятся доступные сетевые папки.

О предназначении каждого каталога легко догадаться по его названию:

  1. Папка «bios» предназначена для загрузки дампов BIOS игровых приставок, которые необходимы для функционирования некоторых эмуляторов.

  2. В папке «configs» хранятся конфигурационные файлы эмуляторов.

  3. Папка «roms» предназначена для загрузки образов игр.

  4. В папку «splashscreens» можно загрузить собственные заставки.

Каталоги «bios» и «roms» имеют идентичную структуру: в каждом из них вы найдете множество подпапок, названия которых соответствуют названиям эмуляторов, установленных в RetroPie. Благодаря этому в них очень удобно ориентироваться. Так, например, чтобы загрузить в память ретроконсоли сборник игр для Sega Mega Drive, достаточно перенести необходимые образы в подпапку «genesis» каталога «roms», а игры для Nintendo Entertainment System необходимо скопировать в подпапку «nes».

Перенеся образы игр в соответствующие папки, перезагрузите устройство. Теперь эмуляторы, для которых вы добавили игры, отобразятся в главном меню.

Если вы последовали нашему совету, приобретя корпус NESPi 4, то cможете подключать к ретроконсоли 2,5-дюймовый SSD, используя его в качестве хранилища ROM’ов. Для этого накопитель необходимо предварительно отформатировать и создать на нем папку с названием «retropie».

После подключения к консоли, RetroPie распознает SSD в качестве внешнего хранилища и автоматически создаст все нужные папки и подпапки. По окончании процесса вы сможете загружать на твердотельный накопитель образы игр точно так же, как и на системную карту памяти, копируя ROM’ы в подпапки соответствующих эмуляторов. Данный способ подходит и для USB-накопителей.


На этом настройка RetroPie завершена. Теперь в вашем распоряжении имеется ультимативный игровой комбайн, способный заткнуть за пояс любую фирменную ретроконсоль вроде PlayStation Classic или NES Classic Mini. А при желании данный девайс можно без особого труда превратить в полноценный мультимедийный сервер. Но о том, как это сделать, мы расскажем как-нибудь в следующий раз.

ссылка на оригинал статьи https://habr.com/ru/company/wd/blog/555322/

Стереотипам вопреки: коллекция вдохновляющих корпоративных постов

К корпоративным блогам на Хабре не самое тёплое отношение. Если компания о чём-то пишет, значит, рекламируется. А раз рекламируется, то пытается втюхать простому хабравчанину что-то, что ему даром не нужно. Но это, конечно, просто навязчивый стереотип. Компании в своих блогах занимаются отнюдь не только саморекламой. Они вообще ею редко заняты. Гораздо чаще они постят хорошие экспертные материалы на самые разные темы. Коллекцию именно таких материалов мы собрали сегодня. Хабравчане — знакомьтесь и избавляйтесь от стереотипов. Корпораты — оценивайте тяжкий труд коллег.  


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

  • Посты о текущих или завершённых проектах, в которых компания показывает чем и как занята.

  • Посты о работе с людьми, рассказывающие про быт и межличностные отношения внутри компании.

  • Посты про технопорно, где сотрудники детально разбираются во всяких гаджетах и технологиях.

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

Мы пройдёмся по всем категориям — и покажем конкретные примеры.

Проекты и оптимизация 

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

Как Яндекс применил компьютерное зрение для повышения качества видеотрансляций. Технология DeepHD

Яндекс научил нейросети апскейлить видео до 720p. И речь не только о старых фильмах и мультиках: сетка справляется и с трансляциями в прямом эфире. Пока в нейроапскейле можно посмотреть только хиты «Союзмультфильма». Но ценность статьи прежде всего в том, что здесь поэтапно рассказано, как учили нейросеть. Для тех, кто хочет сам собрать что-то подобное на досуге и отреставрировать старые шедевры. 

Как раздвинуть кости черепа, чтобы легче дышалось: место, где в стоматологии сошлись сразу три новые технологии

Робот научился делать ещё одну работу лучше людей. Софтовый стоматолог от сотрудника «Белой радуги» за пару минут проектирует и собирает уникальный микроимплант. Специалисту-человеку на это нужна неделя. При этом качество импланта, созданного машиной, выше. Рассказ о том, как произошла и почему понадобилась эта маленькая революция. Интересно, хоть и немного грустно читать: мясных мешков обижают! 

Создание виртуальной волны

Отпуска на реальных морях никому из нас пока особо не светят. Зато можно почитать, как программисты Mail.ru оттягивались и из офиса создавали море виртуальное. Такое, чтоб прибой реалистично накатывал на цифровой пляж, а на песке тут и там оставалась белёсая пена. Сочные пляжные скриншоты на удивление хорошо сочетаются с программерскими объяснениями природы местных волн и дарят то самое летнее настроение.

Остроумие и отвага: как мы много раз ошибались, создавая iFunny 

FunCorp представляют историю фейлов и эпопею технических косяков, допущенных при разработке iFunny. Хочешь создать свой сайт со смешными картинками? Почитай, чтобы знать, где не косячить. Не хочешь? Почитай ради забавных историй и мемчиков. А ещё чтобы поучиться у авторов и пользователей их ресурса относиться ко всем невзгодам со здоровой долей юмора. 

Как настроить командную работу и сохранять спокойствие в чатах Телеграма, если всё горит, и все в аду

Может ли хорошая служба поддержки работать из мессенджера? Ребята из ITSumma доказывают, что может. Только мессенджер придётся серьёзно перекодить под себя, как они сделали с Telegram. Никаких больше попыток разобраться в уже остывающем тикете, только быстрое реагирование и таски прямо из клиентских сообщений. Комментаторы не отстают и предлагают свои способы усовершенствовать эту систему. 

Новый плацкарт в вагоне габарита Т: помните ту обратную связь, что вы давали на 1-ВМ? 

Статья от Туту.ру про редизайн плацкартных вагонов. Завезли комфортные широкие полки, вместительные шкафы и даже душ в вагоне. Но это не просто любование, а мастер-класс по работе с фидбэком. Ведь редизайн — ответ на 500+ пожеланий клиентов. К каждому нововведению приписка: здесь всем угодили, тут — пока нет. А ещё после прочтения ты сможешь отфидбечить уже сам редизайн. Чтобы потом было комфортнее кататься.

Свершилось: ценники, которые всегда актуальны, пилот на 79 тысяч штук в магазине

Статья КРОК о том, как они сделали банальные ценники в магазинах крутыми. Их электронные ценники связаны в единую сеть, цену на каждом можно указать из общего терминала, а батарейки менять нужно раз в два года. В статье подробно рассказано о том, как работают новые ценники и что у них внутри. А если технические подробности не волнуют, почитай для общего развития, чтобы через год не удивляться, когда увидишь такой в «Пятёрочке» у дома.

Работа с людьми

Очевидно, что проекты в любой компании не абстрактны: за ними стоят люди. О людях — этот раздел. Хабраавторы редко считают взаимоотношения с коллегами и быт в офисе достойным материалом для статьи. Разве что в качестве анекдотов с рабочего места. А вот для компаний и корпоблогов быт — дело очень важное. Им хочется, чтобы все в команде идеально сработались и не превращали офисы и групповые чаты в токсичное болото. Так корпораты снова помогают сообществу: открыто, честно и интересно говорят о вещах, которые у нас раньше обсуждать было не принято.

«Сгоревшие» сотрудники: есть ли выход? 

Высокоуровневый менеджер Badoo рассказывает о когнитивных искажениях, с которых часто начинается профессиональное выгорание. И объясняет, как со сгоревшими людьми работать, чтобы они не побежали увольняться, а, наоборот, воспряли духом. Эта статья прежде всего для менеджера и эйчара, в команде которого появился свой грустный Игнат.

Профессиональное выгорание айтишников: 15 ответов психиатра Максима Малявина 

А вот если ты сам грустный Игнат и в гробу видел помощь от менеджеров, то для тебя Southbridge поговорили о выгорании с профессиональным психиатром. Ответы на все важные вопросы и набор советов для каждого работника, у которого вдруг надолго загостила осенняя хандра. Читай, сверяйся. Спасение выгорающих — дело рук самих выгорающих.

Мы тратим годы на то, что делается неделю — потому что все ларьки заигрались в IT-гигантов

Но иногда выгорание полностью оправданно. Бывает так, что в проекте допускаются серьёзные ошибки. Злая, обвинительная статья из блога VDSina — как раз о таких проектах. О том, как команду талантливых спецов обрекают годами пилить откровенно лишние, бесполезно сложные фичи для простейшей системы. Крик программерской души. Предостережение для компаний, не уважающих своё время и время своих работников.

Как это работает, или Технопорно

Работники крупных компаний — такие же техногики, как и остальные хабравчане. И им очень нравится разбираться в сложных технологиях. В этом разделе корблогеры поигрывают мускулами, в деталях объясняя как работает та или иная примочка. А заодно закидывают читателей сочными скриншотами и домашними заданиями. Пишут они при этом ярким, понятным языком, чтобы в сложной тематике могли разобраться не только самые прошаренные специалисты. Эту привычку у корпоратов понемногу подхватывают даже матёрые хабраавторы, чему мы (и многочисленные читатели) очень рады.

Эмулятор RFID

Эксперт из RUVDS, страшный гибрид радиолюбителя и программиста, подробно рассказывает, как работают RFID-карты и брелки. И ладно бы просто объяснял теорию! Но он ещё и поясняет, как собрать полноценный эмулятор RFID из пары радиодеталей и Assembler-кода. С многочисленными фото собственного кустарного эмуля, конечно же. Читать интересно уже потому, что чувствуется интерес и мастерство автора, даже если от сложных объяснений слегка пухнет голова. 

Дата-центр ВКонтакте 

Отправляемся на фотоэкскурсию в железное сердце популярной соцсети, расположившееся в доме на Невском. Непросвещённый наблюдатель увидит здесь просто красивые технологичные скрины. А эксперт, особенно планировщик дата-центров, подсмотрит что-нибудь интересное в устройстве и решениях ЦОДа. Или просто полюбуется демонстрацией цифровой мощи: можем, умеем, сделали.

Flipper Zero — пацанский мультитул-тамагочи для пентестера 

Но не одним же мегакорпорациям хвастаться достижениями! Небольшая Flipper Devices Inc., например, создала уникальный карманный хакерский мультитул. С экраном, как на старенькой Nokia, и дельфином-тамагочи. Статья про то, почему этот уникальный девайс умеет всё необходимое для полноценного пентеста, что у него внутри и зачем он задизайнен под милитари-киберпанк. Рекомендуется всем фанатам инфобезопасности.

Мечтают ли андроиды об электропанке? Как я учил нейросеть писать музыку

Тем временем программист ЛАНИТ в свободное время учит нейросети плохому: играть панк и регги. Помимо весёлых шуток про три роботских аккорда, в статье есть подробный, глубокий анализ того, как сейчас работают музыкальные нейросетки и как обучить свою собственную. С траблшутингом типичных проблем, примерами кода и, конечно, получившимися в итоге взрывными рок-хитами в MIDI. 

Забавы и развлечения

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

Тапочки для гика: ищем позитив во временных закрытиях офисов

Комфорт на удалёнке превыше всего! Вот и Leader-ID пытаются помочь: написали материал о разнообразных моделях тапочек для гиков — от слипперов с поп-культурным принтом до пугающих плюшевых робобутсов с аудиосопровождением из «Терминатора». Пригодится каждому, кто хочет сменить наконец старые стёртые шлёпанцы на что-нибудь приличное. Или просто поугорать с необычных тапок.

Как я использую AirDrop вместо Тиндера 

Один из авторов RU VDS рассказывает о развесёлых пранках через AirDrop. Отличный способ скоротать долгую поездку в метро, хоть порой сам автор и ходит на грани фола. С другой стороны, жертвы розыгрышей нередко оказываются впечатлены таким сочетанием толстого юмора и технологической подкованности. Да и применение AirDrop довольно необычное. 

Хороший договор — короткий договор 

Корпораты тоже люди. Их, как и всех нас, бесит нечитаемый юридический спич в договорах. Айтишник из ITSOFT повествует, как он с коллегами составил короткий, понятный и точный договор об услугах. У них получилось вместить всё нужное на три страницы легко считываемого текста. Получится и у тебя. Долой казёнщину!

Ход конём по битам. Шахматный Bitboard 

Напоследок, задачка от OTUS на стыке программирования и шахмат. Нужно найти с помощью алгоритма количество ходов, доступных шахматному коню на определённой клетке. Читай осторожно, если хочешь решить задачку сам: автор предлагает вариант ответа в конце статьи. А потом присоединяйся к хабрагроссмейстерам в комментах, записывай их ходы и ищи самое элегантное решение.

Заключение

И это только верхушка айсберга, полтора десятка из сотен хороших корпоративных статей на Хабре. Чтобы отметить подобные статьи и их авторов, мы создали конкурс Corp Blog Awards. Подать заявку и поучаствовать в нём может любой из корпоблогов на сайте. Победителей ждут призы и вечная слава. Регистрация заканчивается 30 апреля, но ты, читатель этой статьи, можешь по промокоду LuckyFriday (его нужно ввести в любое поле при оформлении заявки) зарегистрировать свой блог на конкурсе до 11 мая. Мы с нетерпением ждём интересных и необычных статей!

ссылка на оригинал статьи https://habr.com/ru/company/habr/blog/555316/

Как теперь процессить kernel crash и bug report? Или несколько слов о разнице между интересным и удивительным

Широко известен исторический анекдот о том, что царица Екатерина II писала простое русское слово из 3 букв с 4 ошибками. Куда менее известно, что эта ошибка вовсе не уникальна. Дети европейских экспатов, изучающие русский язык, запросто могут в диктанте слово “ёжик” написать как Й-О-Ш-Е-Г.

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

Автор этих строк много лет пилит гирю OpenVz linux kernel maintenance. OpenVz сейчас потихоньку переезжает с ядра RHEL7 на RHEL8. Ядро в Red Hat за 5 лет сильно изменилось, поэтому мы очередной раз пересматриваем наши старые патчи и думаем, что с ними делать: перетащить как есть, переделать получше или дропнуть за неактуальностью.

В рамках этой большой задачи я разбирался с memcg accounting. OpenVZ аккаунтит различные kernel objects практически с самого рождения — с v2.2.x ядер далекого 2001 года. Зачем и почему мы решили аккаунтить тот или иной объект, сейчас сходу понять довольно затруднительно, приходится поднимать историю по старым багам и коммитам.

В стародавние времена мы использовали свою собственную систему accounting, так называемые user beancounters. Там была пара десятков разных параметров, и правильно их настраивать было затруднительно для админов. В upstream эту подсистему тоже принимать не особо хотели, для них приходилось изобретать namespaces и cgroups, а для своих ядер — скрещивать ежа, ужа и трепетную лань.

Пересмотрев наш memcg accounting из Virtuozzo Hybrid Server 7.5, я большую их часть перетащил в Virtuozzo Hybrid Server 8, посмотрел, что из этого до сих пор отсутствует в последнем upstream и подготовил соответствующий патчсет. Если кому интересно, кстати говоря, вот он: https://lkml.org/lkml/2021/4/28/70

Перед отсылкой в upstream изменения полагается хотя бы минимально проверить. Я скомпилил свое ядро, взгромоздил его на свою тестовую VM с Fedora Rawhide и давай его по-всякому тестить.

Чтобы разобраться в деталях memcg аккаунтинга в ядро в свое время засунули per-memcg sysfs файлик memory.kmem.slabinfo. В нем показывается количество тех или иных SLAB объектов, которые нашлись в соответствующей memory cgroup, нечто типа обычного /proc/slabinfo. В новых upstream ядрах из соответствующие файлики тоже были, однако из них почему то вообще ничего не вычитывалось. Я посмотрел на своем ядре, посмотрел на оригинальном ядре Fedora — то же самое: файл есть, контента нет.

Стал разбираться. Выяснилось, что с полгода назад memcg подсистему очередной раз переделали, но с выводом контента в memory.kmem.slabinfo возникли сложности. Поэтому вывод решили обнулить, а для тех, кому он все таки интересен, в ядро закоммитили drgn скрипт tools/cgroup/memcg_slabinfo.py.

Обычно с ядром разбираются посредством crash — но на живом ядре это довольно тяжелый способ. сrash долго стартует, потребляет кучу ресурсов, и на сильно загруженной production node такое делать стремно — можно запросто разбудить OOM-killerа. Можно пытаться заюзать ftrace, perf или systemtap — но у каждого из них свои недостатки и неудобства.

drgn — их легковесная альтернатива. Позволяет добраться до внутренностей ядра, и удобным образом переходить по ссылкам структур ядра. Много говорить про него не буду, кому интересно — посмотрите-покрутите самостоятельно. В целом, по-моему, удобно, впечатления от использования положительные, рекомендую. Исходник здесь: https://github.com/osandov/drgn.

Закоммиченный полгода назад скрипт на новом ядре уже не работал, структуры ядра за это время уже успели несколько раз поменяться. Неудивительно, на это обречен любой внешний скрипт или out-ouf-tree модуль. Однако благодаря простоте drgn исправить скрипт оказалось несложным.

Я проверил исправленным скриптом свое ядро со своими фиксами accounting — все отработало нормально. Потом решил, что стоит посмотреть на то, как вело себя непропатченное ядро. Откатывать свои патчи и перекомпилировать свое ядро заново мне было лениво. Тем более, что у меня уже было другое upstream ядро — от Fedora Rawhide aka fc35. Я специально проапдейтился, загрузил самое последнее ядро, запускаю скрипт — а он не работает. И проблема похоже даже не в самом скрипте: drgn сам по себе не запускается.

 [root@localhost test]# rpm -q drgn

drgn-0.0.11-2.fc35.x86_64

[root@localhost test]# drgn -s /usr/lib/debug/lib/modules/5.12.0-0.rc8.191.fc35.x86_64/vmlinux

Traceback (most recent call last):

File "/usr/bin/drgn", line 33, in

sys.exit(load_entry_point('drgn==0.0.11', 'console_scripts', 'drgn')())

File "/usr/lib64/python3.9/site-packages/drgn/internal/cli.py", line 119, in main

prog.load_debug_info(args.symbols, **args.default_symbols)

Exception: /usr/lib/debug/usr/lib/modules/5.12.0-0.rc8.191.fc35.x86_64/vmlinux: .debug_info+0x7704ab: unknown DWARF CU version 5

Ставлю ядро от fc34, чуть более раннее — не помогает.

Ну хорошо, думаю, раз не получается залезть в эти ядра drgn, давай попробую crash.

А он тоже не запускается!

[root@localhost ~]# crash -d 1 (без дебага dwarf error не виден)

...

Dwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4) [in module /usr/lib/debug/usr/lib/modules/5.11.12-300.fc34.x86_64/vmlinux]

crash: /usr/lib/debug/lib/modules/5.11.12-300.fc34.x86_64/vmlinux: no debugging data available

Рассылаю багрепорты во все стороны, выясняю:

Fedora 34 переехала на новый gcc 11, который для всего подряд генерит debuginfo в новом формате DWARF version 5. Обычный userspace с ним вполне нормально работает, gdb этому формату уже давно обучили.

Однако для ядра это оказалось поистине катастрофично, потому что:

  • crash использует внутри старую версию gdb, которая DWARF 5 еще не понимает

  • drgn поддержку DWARF 5 еще не прикрутил,

  • и у systemtap, похоже, аналогичные проблемы.

И пока я рассылал во все стороны багрепорты, Fedorа 34 благополучно зарелизилась.

М-да! Как они собираются процессить kernel crashes и bug reports? Возможно, у них есть хитрый план?

Связался с девелоперами crash и drgn — ни там, ни там быстро прикрутить поддержку DWARF 5 не обещают. Так что похоже, хитрого плана все-таки нет. Возможно, недосмотрели. Возможно, даже, специально закрыли на это глаза, чтобы посмотреть что именно  развалится  и собрать багрепорты. В конце концов, Fedora не Red Hat и не CentOS. Она как раз и предназначена для обкатки новых технологий. Удивительно, как оно так получилось. Однако  при этом совершенно неинтересно, почему.

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

Во-первых, можно перекомпилировать ядро с DWARF 4, в ядре для этого есть соответствующий CONFIG_DEBUG_INFO_DWARF4. Полагаю, Fedora именно так и поступит в ближайшем будущем.

Во-вторых, можно установить ядро от предыдущей Fedora 33. Брать, например, здесь. Проверил, вроде как то работает.

В-третьих, вспомнить, что Fedora для production не предназначена, и смириться с тем, что в ней багов больше обычного.

И, в любом случае, не поленитесь забить им багрепорты, это очень важно и для них, и для любого другого Open Source.

ссылка на оригинал статьи https://habr.com/ru/company/virtuozzo/blog/555230/

Марсианский рубеж

Какая ежедневно используемая ИТ-система удалена от нас дальше всех? Марсоход Perseverance. Пожалуй, дальше пока что некуда. Под катом поговорим о технической начинке миссии, особенностях связи с Землей и других насущных проблемах и задачах, которые стоят перед марсоходом Perseverance и его маленьким крылатым другом Ingenuity.

Граничные вычисления приходят на помощь, если приложению требуется быстрый отклик, но оно физически расположено далеко от основных ИТ-ресурсов. На сегодняшний день самый яркий тому пример — беспилотный марсоход, выполняющий научные изыскания в 62 миллионах километров от Земли, на поверхности Красной планеты.

Марсоход Perseverance взаимодействует с окружающим миром в реальном времени, но время прохождения сигнала с Марса в ЦУП NASA составляет порядка 12 минут. Но задержки — это лишь полбеды. Само качество связи на таком расстоянии оставляет желать лучшего. Соответственно, единственный выход — возложить «принятие» некоторых решений на сам Perseverance.

При этом технологически марсоход весьма скромен: его бортовые системы работают на базе процессора PowerPC 750, точно таком же, что и в компьютере Apple Bondi Blue iMac 1998 года.

Напомним, на Марсе уже имеется развернутая ранее «база» — марсоход Curiosity. Он приземлился на поверхность планеты еще в 2012 году. К слову, работает он все на том же процессоре: в силу ряда особенностей марсианской среды это едва ли не самый подходящий вариант.

А знаменитый дрон-коптер Ingenuity, судьба которого вызывала у ученых наибольшие опасения, оснащен уже гораздо более современным «железом»: так, его сердцем является процессор Snapdragon 801, применявшийся в смартфонах ~2014 года, например, в Sony Xperia Z3.

Тем не менее, эта конфигурация показывает потрясающие результаты. На самом раннем этапе Perseverance смог идеально сесть на поверхность планеты (18 февраля), на лету проанализировав скорость ветра и работу собственного теплового экрана во время входа в атмосферу на сверхзвуковой скорости. С помощью ИИ марсоход также определил оптимальное место для посадки.

Все эти процедуры (вход в атмосферу, снижение и посадка) были полностью автономны. Марсоход вошел в атмосферу Марса на скорости 20112.5 километров в час, а максимальная температура на поверхности теплового экрана составила 1300°C. Спуск занял меньше 7 минут, поэтому инженеры NASA никак не могли вмешаться в процесс и внести корректировки. Строго говоря, информация о начале посадки долетела до Земли уже после того, как марсоход успешно приземлился.

Вход в атмосферу

Perseverance — это уже пятый марсоход NASA. Но первый, который пошел на посадку самостоятельно.

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

После раскрытия парашюта экран и весь его «обвес» были сброшены. Все данные о спуске были сохранены и отправлены в NASA — фактически, это первое подробное «описание» приземления на Марс.

Таким образом, все будущие миссии на Марс будут комплектоваться щитами и иным оборудованием, построенным на основе данных о реальной посадке, а не моделируемой. Специалисты NASA предполагают, что в ближайшем будущем им удастся создать более эффективные и более легкие (на 35%) тепловые экраны.

Информация с датчиков давления позволяет судить о реальных особенностях марсианской атмосферы, в том числе — о скорости ветра на малых высотах. Будущие миссии смогут составлять прогноз погоды и приземляться более точно и компактно.

Что касается компактности приземления — Perseverance был нацелен на область 7,72 х 6,6 км. Это на порядок меньше, чем посадочная цель Curiosity (24,94 x 19,96 км). Благодаря данным, полученным в феврале, следующему зонду достаточно будет еще более скромного участка поверхности для приземления.

Контролируемый спуск

Когда парашют раскрылся, радар Perseverance измерил текущую высоту. Без теплозащитного экрана камеры марсохода смогли просканировать землю на предмет ровной площадки для приземления.

Когда скорость падения упала до ~320 км/ч, парашют отстегнулся и включились посадочные двигатели. На этом этапе в дело вступила система обзора (LVS) и при помощи подсистемы относительной навигации по местности (TRN), сопоставившей изображение с камер и карту Марса, направила Perseverance на плавную посадку в кратер Езеро.

К слову, перед «боевым» запуском систему многократно тестировали на земле — с помощью вертолетов и суборбитальных ракет, — но, разумеется, на результаты этих тестов нельзя было полагаться на 100%.

Незадолго до посадки руководитель разработки системы TRN Свати Мохан говорила: «Без системы относительной навигации вероятность благополучной посадки в кратере Езеро составляла от 80 до 85 процентов. Но теперь мы можем довести вероятность успешной посадки в кратере Езеро до 99 процентов в каждой последующей миссии.»

Позднее, когда посадка уже состоялась, Мохан выступала с публичным заявлением перед общественностью. Вот, что она говорит об этом дне: «Только после того, как пришло сообщение «Посадка совершена» и люди начали аплодировать, до меня дошло: господи, мы и правда смогли. Мы на Марсе. Это не очередной тестовый прогон — всё случилось на самом деле!».

Научная миссия

Езеро — самая сложная посадочная площадка из всех, которые NASA выбирали для марсоходов. Тем не менее, этот выбор продиктован задачами, которые поставлены перед проектом. Предположительно, ранее на месте посадки находилась дельта древней реки, питавшей огромное озеро, наполнявшее кратер три миллиарда лет назад.

Если на Марсе когда-либо существовала жизнь, это лучшее место для поиска ее следов. Perseverance укомплектован массой научных инструментов для поиска признаков древней жизни в дельтовых отложениях.

Кроме того, марсоход будет извлекать и консервировать интересные образцы породы — их заберет на Землю следующая миссия. Новый проект потребует гораздо больше технической экспертизы и запланирован на 2026 год.

Perseverance также проведет ряд ключевых испытаний для будущих пилотируемых миссий на Марс. В том числе — опыт по выделению кислорода из марсианской атмосферы.

Вся эта работа будет выполняться более или менее автономно. Инструкции высокого уровня будут высылаться с Земли, а «взамен» марсоход будет снабжать NASA ценными научными данными.

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

В то время как NASA открывает мировому научному сообществу Марс, создатели цифровой инфраструктуры смогут многое узнать об ограничениях пограничных вычислений.

Звонок из космоса

Perseverance возвращается на Землю, передавая сигналы через различные марсианские орбитальные аппараты, включая Марсианский разведывательный спутник, который вращается вокруг Марса с 2006 года.

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

Учитывая малый вес межпланетных кораблей и ряд ограничений по питанию, системы связи довольно асимметричны. На Земле установлены большие и мощные антенны — именно они ловят «шепот» с Марса. Антенны предварительно настраиваются на получение сигнала с заранее заданных направлений.

Данные передаются в пакетах, определенных стандартом телеметрии Международного Консультативного Комитета по космическим системам передачи данных (CCSDS). Каждый пакет содержит переменный объем данных от 7 до 65 542 байта, включая заголовок. Исправление ошибок также в наличии.

Мозг марсохода

Марсоход управляется чипом, разменявшим третий десяток лет: Power PC 750.

Это не самый современный процессор: в нем «содержится» 10.4 млн транзисторов, что примерно в тысячу раз меньше, чем у чипов современных смартфонов. При этом, несмотря на то что CPU может работать 233 МГц, в Perseverance частота понижена до 133 МГц.

У инженеров есть основания использовать такие «старые» технологии. Во-первых, на борту марсохода стоит не стоковый CPU, а особая его версия стоимостью $20000. Процессор встроен в одноплатный компьютер RAD750 по лицензии BAE Systems, оснащенный резервирующими модулями и логикой устранения ошибок в памяти, а также средствами защиты от радиации: всего одного луча достаточно, чтобы вся начинка выгорела в одночасье.

Джеймс ЛаРоса, BAE Systems: «Итак, у вас есть космический корабль ценой в несколько миллиардов. И если что-то в нем «икнется», то миссия будет провалена. Всего одна частица, бороздящая галактики, может пролететь через устройство и нанести ему вред».

Еще один примечательный нюанс — марсоход работает под управлением ОС реального времени VxWorks, оригинальная версия которой была выпущена еще в 1987 году.

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

Ящик с инструментами

Марсоход несет на борту следующее оборудование:

  • Mastcam-Z — панорамная стереоскопическая камера с функцией масштабирования, которая может помочь в навигации и изучении минералов.

  • SuperCam — прибор для химического анализа и анализа минералов на расстоянии. 

  • PIXL (Planetary Instrument for X-ray Lithochemistry) — рентгеновский флуоресцентный спектрометр, который распознает элементный состав марсианской почвы.

  • SHERLOC (Scanning Habitable Environments with Raman & Luminescence for Organics and Chemicals) — первый рамановский спектрометр на Марсе, использует ультрафиолетовый лазер для анализа минералогических и органических соединений.

  • MOXIE (Mars Oxygen In-situ Resource Utilization Experiment) — комплект для проведения эксперимента по получению кислорода из углекислого газа в атмосфере Марса. Кислород понадобится будущим космонавтам для дыхания и сжигания ракетного топлива, которое доставит их домой.

  • MEDA (Mars Environmental Dynamics Analyzer) — датчики, измеряющие температуру, скорость и направление ветра, давление, относительную влажность, а также размер и форму частиц пыли.

  • RIMFAX (Радиолокационный формирователь изображения недр Марса) — георадар для     изучения местной геологии.

  • «Рука»-манипулятор длиной 2м с насадкой для забора образцов, которые предполагается хранить в стерильных контейнерах.

  • Три антенны, работающие в UHF (до 2 Мбит/с) и X-диапазоне.

  • Блок питания мощностью 110 Вт в виде MMRTG (многоцелевой радиоизотопный термоэлектрический генератор).

Марсианская миссия 2020, без сомнения, является беспрецедентным прорывом в области изучения Марса. К счастью, пока что нет повода беспокоиться о судьбе марсохода: свои текущие задачи он выполняет и перевыполняет. Даже экспериментальный дрон Ingenuity, построенный на базе «магазинных» компонентов и открытого ПО, ведет себя в точности так, как было запланировано на Земле. Периодически мы будем держать вас в курсе событий миссии Perseverance, а пока что, если вам интересна эта тема, предлагаем вам ознакомиться с предыдущим, более детализированным материалом по этой теме.

ссылка на оригинал статьи https://habr.com/ru/company/it-grad/blog/555352/

Цифровые технологии, которые необходимы в строительстве сейчас и в будущем

Развитие цифровых технологий в той или иной степени касается всех отраслей бизнеса. Строительная не исключение. Пережив кризис, с конца 2000-го года сектор начал активно развиваться преимущественно благодаря строительству жилых зданий.

Американская консалтинговая компания Oliver Wyman подсчитала, что к 2025 году объем рынка улучшенных строительных технологий в США составит 600 миллиардов долларов, но это повлечет за собой ряд ощутимых изменений в индустрии. Чтобы строительным компаниям выжить, повысить коммерческую эффективность и улучшить операционные процессы, а сотрудникам сохранить рабочие места, придется незамедлительно осваивать цифровые технологии. Конкуренция еще больше вырастет, ведь усовершенствованные строительные технологии привлекут в отрасль digital-гигантов (Amazon, Google), компании, которые разрабатывают программное обеспечение, интеллектуальный стартапы и так далее. В такой среде
придется бороться за доступ к клиентам и создавать новые стратегии и бизнес-модели.

Аналитический отдел программы «Московский акселератор» провело исследование на тему PropTech. В нем приняло участие более 450 сотрудников корпораций, стартапов, консалтинговых и образовательных компаний, а также представителей городских властей. Ответы респондентов помогли понять в каких именно технологиях строительная отрасль особенно нуждается в ближайшие годы.

Это анализ данных, искусственный интеллект, Интернет вещей (IoT), робототехника и дроны, 5G и Wi-Fi6, информационное моделирование зданий (BIM), виртуальная и дополненная реальность (VR и AR), 3D печать, мобильные и облачные технологии, блокчейн и так далее.

“Цифровые технологии — это настоящее и будущее строительной отрасли. Технологическая модернизация упростит операционные процессы бизнеса, увеличит производительность и значительно повысит уровень безопасности на строительных объектах. В перспективе, благодаря технологиям появятся новые профессии, которые будут интересны молодым специалистам”, — заявила Ксения Борбачева, заместитель генерального директора Агентства инноваций Москвы.

Основные тенденции строительных технологий в 2021 году

2020-й год стал знаменательным для внедрения технологий в строительный сектор. Согласно отчету JLL State of Construction Tech, пандемия оказала огромное влияние на строительный рынок и ускорила операционные процессы внутри него. Изменения, которые при “стандартных” условиях случились бы за три года, произошли за один год. Можем выделить семь основных тенденций.

1. Совместные программные решения. Пандемия усилила необходимость передавать информацию в режиме реального времени между офисом и полем, а также стейкхолдерами — архитекторами, поставщиками, инспекторами и субподрядчиками.

2. Информационное моделирование зданий (BIM) и Digital Twin. BIM помогает подрядчикам лучше “рассмотреть” проект благодаря 3D-моделированию, а оценщикам понять точное количество всех строительных материалов. Технология Digital Twin также создает модель зданий, но с помощью датчиков и беспилотников. Эти данные обрабатываются искусственным интеллектом, и затем используются в планировании проекта.

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

4. Дополненная реальность и виртуальная реальность (AR и VR). Иммерсивная визуализация, ставшая возможной благодаря совместному использованию VR и BIM, улучшает дизайн, и упрощает коммуникацию архитекторов с клиентами.

5. Умная одежда. Устройства, оснащенные GPS, Wi-Fi и биометрическими датчиками, внедряются в одежду и средства индивидуальной защиты (каски, перчатки, жилеты, ботинки и так далее). Эта технология полезна для работы в поле. Датчики отслеживают частоту сердечных сокращений, температуру тела и другие важные показатели человека. В случае опасной ситуации или признаков болезни у сотрудника, система незамедлительно уведомляет специалистов по безопасности. Эта технология особенно полезна для работы в пандемию.

6. Роботы и дроны. Использование робототехники делает условия для работы более безопасными и увеличивают производительность труда. В скором будущем роботы будут “привлечены” для выполнения однотипных трудоемких задач, таких как укладка кирпича, обвязка арматуры и установка гипсокартона и так далее.

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

ссылка на оригинал статьи https://habr.com/ru/post/555254/