Linux

Пользователи Linux: получите этот альбом как модуль ядра

Пользователи Linux: получите этот альбом как модуль ядра

Какой самый отвратительный способ выпустить альбом? Как насчет модуля ядра Linux?

Именно это и сделала небольшая группа под названием Netcat со своим последним альбомом Cycles Per Instruction. Вот как это получить.

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

Это не единственный способ получить доступ к музыке. Альбом также на BandCamp , для потокового воспроизведения. Чтобы на самом деле скачать музыку, вам нужно будет купить песни. Использование этого метода модуля ядра не является способом избежать оплаты за песни. Песни в том виде, в каком они существуют для модуля ядра, не являются типичными файлами, которые могут воспроизводиться медиаплеером.

Подготовка

netcat_dependencies
Поскольку нам нужно скомпилировать модуль ядра, нам нужно убедиться, что наша среда сборки готова к работе. Чтобы установить все необходимые зависимости в Ubuntu, выполните команду sudo apt-get install build-essential vorbis-tools git linux-headers-$(uname -r) .

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

Скачивая это

Далее нам нужно «оформить» (что означает получить) код для альбома. Мы можем сделать это с помощью команды git clone https://github.com/usrbinnc/netcat-cpi-kernel-module.git .

Это сделает папку в вашей домашней папке с именем netcat-cpi-kernel-module. Так как он загружает 6 песен (которые просто стесняются всего часа), это может занять некоторое время — это нормально.

netcat_download2
После завершения загрузки мы хотим перейти в эту папку. Мы можем сделать это с помощью команды cd netcat-cpi-kernel-module .

Compile

netcat_compile
Теперь нам нужно скомпилировать модуль ядра. Это можно сделать очень легко с помощью команды make. В зависимости от аппаратного обеспечения вашей системы это может занять очень много времени. Тем не менее, обратите внимание, что для компиляции этого модуля ядра требуется чуть более 1 ГБ доступной оперативной памяти. Разработчики упомянули об этом в своем файле README, и я могу подтвердить, что во время компиляции я видел такой же всплеск.

Если вы когда-либо компилировали программное обеспечение раньше, вы можете ожидать, что команда sudo make install будет следовать. По какой-то причине, это не обязательно здесь. После завершения компиляции поздравляем! Сложная часть теперь сделана.

Загрузить это

netcat_dmesg

Теперь, когда вы установили модуль, вам нужно загрузить его. Вы можете сделать это с помощью команды sudo insmod netcat.ko . Это должно запустить модуль ядра. Чтобы проверить, запустите команду dmesg и найдите что-то похожее на это:

[ 2606.528153] [netcat]: netcat - Cycles Per Instruction - Kernel Module Edition - 2014
[ 2606.528153] [netcat]: netcat is Brandon Lucia, Andrew Olmstead, and David Balatero
[ 2606.528153] [netcat]: 'ogg123 - < /dev/netcat' to play.

Сыграй!

Чтобы фактически воспроизвести музыку, у вас есть одна последняя команда: ogg123 - < /dev/netcat . Это аудиоинструмент, который на самом деле может декодировать сообщения, которые отправляет модуль ядра Netcat, и он должен автоматически отправляться на ваше текущее аудиоустройство (колонки, наушники и т. Д.). Вы также можете проверить, воспроизводится ли песня, снова dmesg команду dmesg , но сначала ознакомьтесь с различными примечаниями ниже.

Разные заметки

Вы заметите, что больше не можете вводить больше команд терминала вашем текущем окне терминала — это происходит, пока утилита ogg123 занята. Чтобы закончить воспроизведение, вы можете нажать Ctrl + C на клавиатуре или просто закрыть окно терминала, которое убивает все связанные с ним процессы (имеется в виду ogg123).

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

Вывод

Этот модуль ядра делает что-нибудь полезное для вашей системы Linux? На самом деле, нет. Но это круто, и на этом пути вы узнаете несколько полезных команд Linux. И, честно говоря, это действительно не так сложно. Так что не бойтесь попробовать это!

Какая самая отвратительная вещь, которую вы видели у кого-то? Есть ли другие классные вкусности Linux (возможно, похожие на это), которые приходят на ум? Дайте нам знать об этом в комментариях!

Похожие посты
Linux

8 лучших окружений рабочего стола Linux

AndroidIphone и ipadLinuxWindows

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

LinuxКак сделать

Что такое Swappiness в Linux? (и как это изменить)

LinuxКак сделать

Как использовать команду ls для вывода списка файлов и каталогов в Linux