Advertentie

Wat is de meest geekste manier om een ​​album uit te brengen? Hoe zit het als een Linux-kernelmodule?

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

Als dit complex klinkt, raak dan niet in paniek: hoewel het zeker eigenzinnig is, is het niet moeilijk om in te stellen. Het enige dat nodig is, is een goed geschreven lijst met instructies, en ook jij kunt via een module naar het album luisteren de Linux-kernel Wat is het verschil tussen Linux-distributies als ze allemaal Linux zijn? [MakeUseOf Explains]Wanneer een gebruiker voor het eerst kennis maakt met Linux, wordt hen mogelijk verteld dat ze Linux gebruiken, maar ze zullen snel leren dat het iets anders wordt genoemd. Ja, Ubuntu, Fedora, Linux Mint, Debian, openSUSE en nog veel meer ... Lees verder . 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 is ook

op BandCamp, voor streaming. Om de muziek daadwerkelijk te downloaden, moet je de nummers kopen. Het gebruik van deze kernelmodule-methode is geen manier om het betalen voor de nummers te vermijden. De nummers zoals ze bestaan ​​voor de kernelmodule zijn geen typische bestanden die door een mediaspeler kunnen worden afgespeeld.

voorbereidingen treffen

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

Dit installeert de compileertools, de kernelkopteksten die nodig zijn om kernelmodules te maken, de audioweergavetools die werken met de kernelmodule die we maken, en het git-hulpprogramma, dat is gebruikt voor ontwikkeling versiebeheer Wat is Git en waarom zou u versiebeheer moeten gebruiken als u een ontwikkelaar bentAls webontwikkelaars werken we vaak aan lokale ontwikkelingssites en uploaden dan alles als we klaar zijn. Dit is prima als jij het bent en de veranderingen klein zijn, ... Lees verder , die we gebruiken om de code op te halen.

Het downloaden

Vervolgens moeten we de code voor het album afrekenen (wat betekent ophalen). We kunnen dit doen met de opdracht git kloon https://github.com/usrbinnc/netcat-cpi-kernel-module.git.

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

netcat_download2
Zodra het downloaden is voltooid, willen we naar die map gaan. We kunnen dit doen met de opdracht cd netcat-cpi-kernel-module.

Compileren

netcat_compile
Nu moeten we de kernelmodule compileren. Dit kan heel eenvoudig met het commando make. Afhankelijk van de hardware van uw systeem duurt dit mogelijk niet erg lang. Houd er echter rekening mee dat voor het compileren van deze kernelmodule iets meer dan 1 GB beschikbaar RAM nodig is om te voltooien. De ontwikkelaars noemden 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 te volgen. Om de een of andere reden is dat hier niet nodig. Gefeliciteerd zodra de compilatie is voltooid! Het moeilijke deel is nu klaar.

Laad het

netcat_dmesg

Nu je de module hebt geïnstalleerd, moet je deze laden. U kunt dit doen met de opdracht sudo insmod netcat.ko. Dit zou de kernelmodule moeten starten. Voer de opdracht uit om te controleren dmesg en zoek naar iets vergelijkbaars onderaan:

[2606.528153] [netcat]: netcat - Cycles Per Instruction - Kernel Module Edition - 2014
[2606.528153] [netcat]: netcat is Brandon Lucia, Andrew Olmstead en David Balatero
[2606.528153] [netcat]: 'ogg123 - dev / netcat' om te spelen.

Speel het!

Om de muziek daadwerkelijk af te spelen, heb je nog een laatste opdracht: ogg123 - dev / netcat. Dit is de audio tool die de berichten die de netcat kernel module verstuurt daadwerkelijk kan decoderen, en het zou automatisch naar je huidige audio apparaat (speakers, koptelefoons, etc) gestuurd moeten worden. Je kunt ook controleren of een nummer wordt afgespeeld door de dmesg commando opnieuw, maar bekijk eerst de diverse opmerkingen hieronder.

Diverse opmerkingen

Je zult merken dat je niet meer kunt typen nog meer terminalopdrachten Een A-Z van Linux - 40 essentiële opdrachten die u moet kennenLinux is het vaak genegeerde derde wiel voor Windows en Mac. Ja, in de afgelopen tien jaar heeft het open source-besturingssysteem veel grip gekregen, maar het is nog lang niet overwogen ... Lees verder in uw huidige terminalvenster - dit gebeurt zolang het hulpprogramma ogg123 bezig is. Om het afspelen te beëindigen, kunt u op Ctrl + C op uw toetsenbord drukken of gewoon het terminalvenster sluiten dat alle daaraan gebonden processen doodt (wat betekent ogg123).

Als u bepaalde opdrachten wilt invoeren terwijl u de muziekweergave behoudt, opent u gewoon een nieuw terminal-tabblad of -venster. Je kunt dan dit nieuwe tabblad of venster gebruiken om te kijken welk nummer momenteel wordt afgespeeld. Dit kan worden gedaan als u de opdracht dmesg opnieuw uitvoert en controleert onder aan de uitvoer.

Conclusie

Doet deze kernelmodule iets nuttigs voor uw Linux-systeem? Niet echt. Maar het is cool en het leert je onderweg een aantal nuttige Linux-commando's. En eerlijk gezegd is het echt niet zo moeilijk. Dus wees niet bang om het uit te proberen!

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

Danny is senior aan de Universiteit van Noord-Texas en geniet van alle aspecten van open source-software en Linux.