Reklame

Hvad er den geekiest måde at udgive et album på? Hvad med et Linux-kernemodul?

Det var præcis, hvad et lille band kaldet Netcat gjorde med deres seneste album, Cycles Per Instruction. Sådan får du det.

Hvis dette lyder komplekst, skal du ikke få panik: selvom det bestemt er underligt, er det ikke svært at konfigurere. Alt, hvad det kræver, er en velskrevet liste over instruktioner, og du kan også lytte til albummet via et modul til Linux-kernen Hvad er forskellen mellem Linux-distributioner, hvis de alle er Linux? [MakeUseOf Explains]Når en bruger først introduceres til Linux, får de muligvis at vide, at de bruger Linux, men de lærer hurtigt, at det kaldes noget andet. Ja, Ubuntu, Fedora, Linux Mint, Debian, openSUSE og så mange andre ... Læs mere . Her er hvad du skal gøre, forudsat at du bruger Ubuntu.

Dette er ikke den eneste måde at få adgang til musikken. Albummet er også på BandCamp, til streaming. For faktisk at downloade musikken, skal du købe sangene. Brug af denne kernemodulmetode er ikke en måde at undgå at betale for sangene. Sange, som de findes i kernemodulet, er ikke typiske filer, der kan spilles af en medieafspiller.

instagram viewer

Forberedelse

netcat_dependencies
Da vi har brug for at komponere et kernemodul, er vi nødt til at sørge for, at vores build-miljø er klar til at gå. Kør kommandoen for at installere alle de nødvendige afhængigheder på Ubuntu sudo apt-get install build build-essential vorbis-tools git linux-headers - $ (uname -r).

Dette installerer kompileringsværktøjerne, de kerneloverskrifter, der er nødvendige for at fremstille kernemoduler, lydafspilningsværktøjerne, der fungerer med det kernemodul, vi laver, og git-værktøjet, som er bruges til udviklingsversionskontrol Hvad er git og hvorfor skal du bruge versionskontrol, hvis du er en udviklerSom webudviklere er det meget af tiden, vi har tendens til at arbejde på lokale udviklingswebsteder, og bare uploade alt, når vi er færdige. Dette er fint, når det bare er dig, og ændringerne er små, ... Læs mere , som vi bruger hente koden.

Download det

Dernæst bliver vi nødt til at "kasse" (hvilket betyder at hente) koden til albummet. Vi kan gøre dette ved hjælp af kommandoen git klon https://github.com/usrbinnc/netcat-cpi-kernel-module.git.

Dette opretter en mappe i din hjemmemappe med navnet netcat-cpi-kernel-module. Da det downloader 6 sange (der bare er genstand for en times lang sammenligning) kan det tage lidt tid - dette er normalt.

netcat_download2
Når downloadet er afsluttet, vil vi gå ind i den mappe. Vi kan gøre det med kommandoen cd netcat-cpi-kernel-modul.

Udarbejde

netcat_compile
Nu skal vi sammenstille kernemodulet. Dette kan gøres meget let med kommandomærket. Afhængigt af dit systems hardware tager det muligvis ikke meget lang tid. Bemærk dog, at kompilering af dette kernemodul kræver en smule over 1 GB i tilgængelig RAM for at fuldføre. Udviklerne nævnte dette i deres README-fil, og jeg kan bekræfte, at jeg så den samme pigge, mens jeg kompilerede.

Hvis du nogensinde har samlet software før, kan du forvente en sudo gøre installation kommando til at følge. Af en eller anden grund er det ikke nødvendigt her. Når samlingen er afsluttet, tillykke! Den hårde del er nu færdig.

Indlæs det

netcat_dmesg

Nu, hvor du har installeret modulet, skal du indlæse det. Du kan gøre det med kommandoen sudo insmod netcat.ko. Dette skal starte kernemodulet. Kør kommandoen for at kontrollere dmesg og kig efter noget, der ligner dette nær bunden:

[2606.528153] [netcat]: netcat - Cycles per instruktion - Kernel Module Edition - 2014
[2606.528153] [netcat]: netcat er Brandon Lucia, Andrew Olmstead og David Balatero
[2606.528153] [netcat]: 'ogg123 - dev / netcat' at spille.

Spil det!

Hvis du faktisk spiller musikken, har du en sidste kommando: ogg123 - dev / netcat. Dette er lydværktøjet, der rent faktisk kan afkode de meddelelser, som netcat-kernemodulet sender ud, og det skal automatisk sendes til din nuværende lydenhed (højttalere, hovedtelefoner osv.). Du kan også kontrollere, om en sang spilles ved at udstede dmesg kommandoen igen, men tjek først de diverse bemærkninger nedenfor.

Diverse bemærkninger

Du vil bemærke, at du ikke længere kan skrive flere terminalkommandoer En A-Z af Linux - 40 væsentlige kommandoer, du burde kendeLinux er det ofte ignorerede tredje hjul til Windows og Mac. Ja, i løbet af det sidste årti har open source-operativsystemet fået meget trækkraft, men det er stadig langt fra at blive betragtet ... Læs mere ind i dit nuværende terminalvindue - dette sker, så længe ogg123-værktøjet er optaget. For at afslutte afspilningen kan du ramme Ctrl + C på dit tastatur eller blot lukke terminalvinduet, der dræber alle processer, der er bundet til det (hvilket betyder ogg123).

Hvis du vil indtaste nogle kommandoer, mens du bevarer musikafspilning, skal du bare åbne en ny terminalfane eller et vindue. Du kan derefter bruge denne nye fane eller vindue til at kontrollere, hvilken sang der i øjeblikket spiller. Dette kan gøres, hvis du kører kommandoen dmesg igen og kontrollerer tæt på bunden af ​​output.

Konklusion

Gør dette kernemodul noget nyttigt til dit Linux-system? Ikke rigtig. Men det er cool, og det lærer dig nogle nyttige Linux-kommandoer undervejs. Og i al ærlighed er det virkelig ikke så svært. Så vær ikke bange for at prøve det!

Hvad er den geekiest ting, du har set nogen gøre? Er der andre seje Linux-godbidder (muligvis ligner denne), der kommer i tankerne? Fortæl os det i kommentarerne!

Danny er senior på University of North Texas, der nyder alle aspekter af open source-software og Linux.