Linux-gebruikers krijgen dit album als kernelmodule

Linux-gebruikers krijgen dit album als kernelmodule / Linux

Wat is de meest geekste manier om een ​​album uit te brengen? Wat dacht je van als een Linux-kernelmodule?

Dat is precies wat een kleine band genaamd Netcat deed met hun nieuwste album, Cycles Per Instruction. Hier is hoe het te krijgen.

Als dit klinkt ingewikkeld, geen paniek: hoewel het zeker eigenzinnig is, is het niet moeilijk om het in te stellen. Het enige dat nodig is, is een goed geschreven lijst met instructies, en u kunt ook naar het album luisteren via een module voor de Linux-kernel. Wat is het verschil tussen Linux-distributies als ze allemaal Linux zijn? [MakeUseOf Explains] Wat is het verschil tussen Linux-distributies als ze allemaal Linux zijn? [MakeUseOf Explains] Wanneer een gebruiker voor het eerst kennismaakt met Linux, kan hem worden verteld dat ze Linux gebruiken, maar ze zullen snel leren dat het iets anders is genoemd. Ja, Ubuntu, Fedora, Linux Mint, Debian, openSUSE en zoveel andere ... Lees meer. Dit is wat u moet doen, ervan uitgaande dat u Ubuntu gebruikt.

Dit is niet de enige manier om toegang te krijgen tot de muziek. Het album staat ook op BandCamp, voor streaming. Om de muziek daadwerkelijk te downloaden, moet je de nummers kopen. Het gebruik van deze kernel-module methode is niet een manier om te voorkomen dat je voor de nummers betaalt. De nummers zoals ze bestaan ​​voor de kernelmodule zijn geen typische bestanden die door een mediaspeler kunnen worden afgespeeld.

voorbereidingen treffen


Omdat we een kernelmodule moeten compileren, moeten we ervoor zorgen dat onze build-omgeving klaar is voor gebruik. Om alle benodigde afhankelijkheden op Ubuntu te installeren, voert u de opdracht uit sudo apt-get install build-essential vorbis-tools git linux-headers - $ (uname -r).

Hiermee installeer je de compileerhulpprogramma's, de kernelheaders die nodig zijn om kernelmodules te maken, de audioweergavetools die werken met de kernelmodule die we aan het maken zijn, en het git-hulpprogramma, dat wordt gebruikt voor de ontwikkeling van versiebeheer. Wat is Git & Why You Should Gebruik versiebeheer als u een ontwikkelaar bent Wat is Git en waarom u versiebeheersing zou moeten gebruiken als u een ontwikkelaar bent Als webontwikkelaars, werken wij vaak vaak op lokale ontwikkelsites en uploaden dan gewoon alles als we gedaan. Dit is prima als je alleen bent en de wijzigingen klein zijn, ... Lees meer, die we gebruiken om de code op te halen.

Downloaden

Vervolgens moeten we dat doen “uitchecken” (wat betekent ophalen) de code voor het album. We kunnen dit doen met behulp van het commando git clone https://github.com/usrbinnc/netcat-cpi-kernel-module.git.

Dit maakt een map in je thuismap met de naam netcat-cpi-kernel-module. Omdat het 6 nummers downloadt (die in totaal slechts een uur duren) kan het enige tijd duren - dit is normaal.


Zodra het downloaden is voltooid, willen we die map openen. We kunnen dit doen met het commando cd netcat-cpi-kernel-module.

Compileren


Nu moeten we de kernelmodule compileren. Dit kan heel gemakkelijk worden gedaan met het commando make. Afhankelijk van de hardware van uw systeem, duurt dit misschien niet lang. Merk echter op dat het compileren van deze kernelmodule een beetje meer dan 1 GB aan beschikbare RAM vereist om te voltooien. De ontwikkelaars vermeldden dit in hun README-bestand en ik kan bevestigen dat ik dezelfde piek zag tijdens het compileren.

Als je ooit eerder software hebt gecompileerd, mag je een sudo make install commando om te volgen. Om een ​​of andere reden is dat hier niet nodig. Zodra de compilatie is voltooid, gefeliciteerd! Het moeilijke deel is nu gedaan.

Laad het

Nu je de module hebt geïnstalleerd, moet je hem laden. U kunt dit doen met het commando sudo insmod netcat.ko. Dit zou de kernelmodule moeten starten. Voer de opdracht uit om dit te controleren dmesg en zoek naar iets soortgelijks dicht bij de bodem:

[2606.528153] [netcat]: netcat - Cycles per instructie - Kernel Module-editie - 2014
[2606.528153] [netcat]: netcat is Brandon Lucia, Andrew Olmstead en David Balatero
[2606.528153] [netcat]: 'ogg123 - < /dev/netcat' to play.

Speel het!

Om de muziek daadwerkelijk af te spelen, hebt u nog een laatste opdracht: ogg123 - < /dev/netcat. Dit is de audiotool die daadwerkelijk de berichten kan decoderen die de netcat-kernelmodule verzendt, en deze moet automatisch worden verzonden naar uw huidige audioapparaat (luidsprekers, koptelefoons, enz.). U kunt ook controleren of een nummer wordt afgespeeld door de dmesg commando opnieuw, maar bekijk eerst de verschillende opmerkingen hieronder.

Diverse opmerkingen

Je zult merken dat je niet langer meer terminal commando's kunt typen. Een A-Z van Linux - 40 Essentiële commando's Je moet een A-Z van Linux kennen - 40 Essentiële commando's Je moet weten Linux is het vaak genegeerde derde wiel naar Windows en Mac. Ja, in het afgelopen decennium heeft het open-source besturingssysteem veel grip gekregen, maar het is nog steeds ver verwijderd van het feit dat het wordt beschouwd als ... Lees meer in je huidige terminalvenster - dit gebeurt zolang het hulpprogramma ogg123 bezet is. Om het afspelen te beëindigen, kun je op je toetsenbord op Ctrl + C drukken of gewoon het terminalvenster sluiten dat alle processen die eraan zijn gebonden (wat betekent ogg123) doodt.

Als u bepaalde opdrachten wilt invoeren terwijl u muziek wilt afspelen, opent u gewoon een nieuw tabblad of venster. Je kunt dan dit nieuwe tabblad of venster gebruiken om te kijken welk nummer momenteel wordt afgespeeld. Dit kan gedaan worden door het commando dmesg opnieuw uit te voeren en onderaan de uitvoer te controleren.

Conclusie

Werkt deze kernel-module iets nuttigs voor je Linux-systeem? Niet echt. Maar het is cool, en het leert je een aantal nuttige Linux-opdrachten onderweg. En eerlijk gezegd is het echt niet zo moeilijk. Dus wees niet bang om het uit te proberen!

Wat is het geekste dat je iemand hebt zien doen? Zijn er andere coole Linux-goodies (mogelijk vergelijkbaar met deze) die bij je opkomen? Laat het ons weten in de comments!

Ontdek meer over: Muziekalbum.