Ni som kör Linux - kompilerar ni kerneln själva?

Permalänk
Medlem

Ni som kör Linux - kompilerar ni kerneln själva?

Frågan lyder: kompilerar ni kerneln själva? Och isåfall, varför?

Får man ut så mycket extra prestanda när man kör en bantad kernel nu för tiden?

Vad är nackdelarna med att köra en pre-compiled kernel?
(som i mitt fall: kör Arch på min desktop och använder kärnan som följde med)

Permalänk
Medlem

Kör inte linux lika aktivt som jag gjorde förr, men nej, jag kompilerar inte min egen kärna (Arch, CrunchBang och Ubuntu).
Förr gjorde jag det främst för att på olika sätt få ner starttiderna, men med en SSD i burken så är vinsten oftast försumbar.

Permalänk
Inaktiv

Nej, vem orkar hålla på. Kör Debian & Ubuntu för det mesta.

Permalänk
Medlem

Har gjort det en gång vid test av Gentoo för ca 10 år sedan. Enskilda program kompilerar jag dock ibland för att få senare version eller program som ej finns för den distro jag kör.

Visa signatur

Efter att ni har läst det här har ni insett att det inte gav något.

Permalänk
Medlem

Min gamla skräpburk har jag kompilat själv, men mest för att få till boottimen så att den inte är för hög.

Med laptopen till skolarbete så kör jag på linux mint och en ssd

Permalänk
Medlem

Rekommenderar att köra på den kärna som är aktuell just nu i din dist. Enda anledningen idag till att kompilera en egen (på desktop) är för att få in nya features/buggfixar innan officiell release gjorts. Kärnan är extremt snabbladdad. Ett fullständigt byte från SysV till systemd gör ofantligt mycket större skillnad för totala starttiden än vad en egenkompilerad kärna gör.

Anledningen till att man kompilerar program betydligt mer på Linux än Windows är helt enkelt för att det finns en uppsjö olika versioner av bibliotek som oftast behöver matcha. Binärdistribution på Linux suger tyvärr för det mesta.

Visa signatur

Citera mig för svar.
Arch Linux

Permalänk
Entusiast

Til min server kör jag en högst välanpassad kärna endast med det som behövs inkompilerat. Inget mer. Likaså är konfigurationen anpassad för justserver-drift, där bakgrundsapplikationer får bättre prestanda och lite annat server-nyttigt. (Gentoo)
Till mina arbetsdatorer kör jag däremot standard-konfigurerade kärnor direkt från distributionens paketsystem. Hårdvara kommer och går, så jag ser ingen anledning att böka runt med slimmade och anpassade kärn- konfigurationer. (Arch)

Varför jag väljer att själv konfigurera kärnan till min server, är för att nyttja inställningarna som är för en server till fördel.
Samtidigt så ser jag till att bygga in det hårdvarustöd som gäller för just min servers hårdvara, och utelämnar resten.
Det blir då en kärna som endast fungerar med den aktuella hårdvaran, men fördelen med det är att hela systemet fungerar direkt efter att kärnan laddats in. Man behöver inte initiera moduler i efterhand, och likaså kan skippa hela init-image biten.

Likaså får jag 100% hårdvarustöd även om jag initierar kärnan med en annan init:

vmlinuz root=/dev/sda1 init=/bin/bash

Detta är i synnerhet nyttigt om man har flertal olika, och ibland lite exotiska, diskkontroller-kort.

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk
Inaktiv

Nope. Ibland kan det krävas för att vissa distros skickar med antika kernels annars ser jag ingen större anledning att göra det på min desktopdator.

Permalänk
Medlem

Tack för alla svar!

Skrivet av jaqob:

Kör inte linux lika aktivt som jag gjorde förr, men nej, jag kompilerar inte min egen kärna (Arch, CrunchBang och Ubuntu).
Förr gjorde jag det främst för att på olika sätt få ner starttiderna, men med en SSD i burken så är vinsten oftast försumbar.

Skrivet av Wully:

Min gamla skräpburk har jag kompilat själv, men mest för att få till boottimen så att den inte är för hög.

Med laptopen till skolarbete så kör jag på linux mint och en ssd

Nej precis, det känns inte lika aktuellt att kompilera en egen kernel längre, speciellt om man har en SSD i burken.

Skrivet av Dimman:

Rekommenderar att köra på den kärna som är aktuell just nu i din dist. Enda anledningen idag till att kompilera en egen (på desktop) är för att få in nya features/buggfixar innan officiell release gjorts. Kärnan är extremt snabbladdad. Ett fullständigt byte från SysV till systemd gör ofantligt mycket större skillnad för totala starttiden än vad en egenkompilerad kärna gör.

Håller med angående systemd, jäklar vad det går undan i starten! Jag har inte hunnit bekanta mig helt med systemd än bara, det är mycket som är "nytt". Loggning, crons osv.

Skrivet av SysGhost:

Til min server kör jag en högst välanpassad kärna endast med det som behövs inkompilerat. Inget mer. Likaså är konfigurationen anpassad för justserver-drift, där bakgrundsapplikationer får bättre prestanda och lite annat server-nyttigt. (Gentoo)

Ah okej. Man skulle kanske ta och ge sig på att fixa en custom kernel på servern som står och brummar i garderoben. Har du några bra tips/råd/länkar angående kernel-patchar osv. för en server?

Permalänk
Medlem

Inte nu längre, har inte haft några problem så jag behövt göra det på bra länge. Kör CentOS, OEL och Fedora.

Visa signatur

9800x3d | Noctua NH-D15S Chromax Black | Gigabyte B650 | 64 GB G.Skill Trident Z | 3 * WD Black SN850 | Asus Prime 9070 XT | Fractal Design Torrent | Seasonic 850W | Samsung Odyssey G9 49" |

Permalänk
Medlem
Skrivet av SysGhost:

Varför jag väljer att själv konfigurera kärnan till min server, är för att nyttja inställningarna som är för en server till fördel.
Samtidigt så ser jag till att bygga in det hårdvarustöd som gäller för just min servers hårdvara, och utelämnar resten.
Det blir då en kärna som endast fungerar med den aktuella hårdvaran, men fördelen med det är att hela systemet fungerar direkt efter att kärnan laddats in. Man behöver inte initiera moduler i efterhand, och likaså kan skippa hela init-image biten.

Likaså får jag 100% hårdvarustöd även om jag initierar kärnan med en annan init:

vmlinuz root=/dev/sda1 init=/bin/bash

Detta är i synnerhet nyttigt om man har flertal olika, och ibland lite exotiska, diskkontroller-kort.

Ja, det är sant! Bra svar!

En annan fråga:
När ni ska till att välja vilka moduler eller hårdvarustöd som ska ingå (eller ej) i kerneln, hur går ni till väga då?

Jag menar: de moduler osv. som ska med för hårdvarustöd är ju självklart, men det är ju massvis med onödiga moduler och sånt som följer med som default när ska till att ändra i .config. Typ som laptop-stöd från Toshiba eller så.
Har ni någon bra källa på nätet som berättar vad man törs ta bort i configen utan att exempelvis kerneln kraschar, man tappar prestanda/stabilitet i nätverket eller bland processhantering osv.?

Permalänk
Medlem
Skrivet av air0046:

...Har du några bra tips/råd/länkar angående kernel-patchar osv. för en server?

Utan att verka för pessimistisk, men i detta fallet så känns det lite som att om man inte vet om vad det är man behöver mer prestanda utav och varför, så bör man inte pilla på det (om man inte gör det i utbildningssyfte såklart).

Det är sällan så enkelt som att man bara kan "slå på" en feature som ger groteskt mycket bättre prestanda. Ofta handlar det om att byta ut en del mot en annan, eller konfigurera med andra värden än default. Det har dock alltid baksidor. Scenario X blir bättre medans scenario Y blir sämre.

Man kan givetvis strippa bort delar av kärnan man inte behöver, men jag ser inte riktigt nyttan av det för en vanlig hemmaserver.

Visa signatur

Citera mig för svar.
Arch Linux

Permalänk
Medlem

Det finns inga nackdelar med att köra kärnan som följer med. Skulle aldrig 2014 lägga tid på att kompilera en kärna själv...

Förr i tiden gjorde man ju de av en anledning, tex för o bygga in moduler som inte följde med.

Permalänk
Medlem

Nej hu, det låter som en mardröm. Fast jag har använt linux över två år så är t.o.m Archlinux för svårt för mig.

Permalänk
Medlem

Händer väl ibland, mestadels pga att jag väldigt sällan byter hårdvara.

Visa signatur

AMD R5 1600 3.2 GHz | Gigabyte AX370 Gaming K3 | Corsair Vengeance LP 2x8GB 3200MHz CL16 | Sapphire RX580 Nitro+ 8GB | Phanteks Eclipse P400S | 1x Samsung 970 EVO 500GB 1x WD 500GB | Windows 11 Pro

Permalänk
Hedersmedlem
Skrivet av air0046:

Frågan lyder: kompilerar ni kerneln själva? Och isåfall, varför?

Jag har testat på det under tidigare perioder, men då främst för att lära mig om processen. Lärorikt, som sagt: det är nog den största anledningen till att göra det om man inte har väldigt specifika behov. Att gå igenom alla konfigurationsalternativ och läsa hjälptexterna är görbart med lite tid, och hjälper en att förstå vad kärnan gör och inte gör.

Vet att det var mycket snack om att CS-servrar under vissa omständigheter kunde må bra av att öka "tick rate" i kärnan till 1000 Hz vilket ledde till att många relativt "vanliga" användare ofta kompilerade själva (och ställde följdfrågor på forum när datorn sa "kernel panic"), men har inte hört någon nämna det på länge, vilket antingen beror på att det inte är något problem längre eller att CS dalat i popularitet sedan releasen för ~15 år sedan :-) .

Det ska i min erfarenhet idag mycket till för att man ska behöva kompilera in något själv i kärnan för att få hårdvarustöd. Utöver Nvidia så har jag inte behövt kompilera speciellt många egna moduler heller, och sedan rätt många år nu så sköter paketsystemet även Nvidias drivrutiner alldeles galant åt mig.

Skrivet av air0046:

Får man ut så mycket extra prestanda när man kör en bantad kernel nu för tiden?

Svårt/omöjligt att säga något generellt. Gör man mätningar under specifika laster så kan man säga det ena eller det andra, men jag kan inte tänka mig att det påverkar "normal" användning i närheten av något märkbart (varken positivt eller negativt).

Ska man kompilera för prestandas skull så har man antingen väldigt slimmad hårdvara eller väldigt specifik belastning, skulle jag säga om jag får generalisera hejvilt. I övrigt så anser jag att bevisbördan ligger på de som hävdar att det är faktisk märkbar skillnad i prestanda: ge mig en graf så kanske jag tror på det :-D .

Skrivet av air0046:

Vad är nackdelarna med att köra en pre-compiled kernel?

Om det går sönder så får man "behålla båda bitarna", dvs om något inte fungerar så har man sig själv att skylla och kan få svårt att få direkt hjälp av andra. Låter man paketsystemet hantera kärnorna så bör alla övergångar ske mjukt med beroenden, boot loader, etc.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Medlem

Nu kör jag inte Linux särskilt mycket längre (mer spelstöd tack!) men när jag väl kör det så kompilerar jag inte kärnan själv längre, när jag körde Slackware för en sisådär 15år sedan så gjorde jag dock det av då uppenbara skäl. Idag finns ju allt man behöver med i kärnan så det finns inget direkt behov av det.

Visa signatur

Guide för felsökning av Bluescreen! (tack till m4goo2 som gjort denna)
Chassi: Antec Twelve Hundred | Moderkort: Asus z170-A | CPU: I7 6700K @ 4.7GHz | Corsair H80 | RAM-minnen: Corsair Vengeance LPX 16GB@2666MHz | GPU: MSI NVIDIA GTX 1070 Gaming G8 | Nätagg: EVGA SuperNova G2 750w | HDD: Samsung 850 EVO 500GB, OCZ Vertex3 120GB, 4x Seagate Barracuda Green 2TB, 1x Western Digital My Book 3TB, Western Digital My Book 4TB.

Permalänk
Medlem

Jag kompilerar min egen kernel på alla mina system inklusive Rpi. Jag gör det framför allt för extra säkerhet. En kärna utan stöd för all obskyr hårdvara och nätverksprotokoll har en mindre attack surface och kanske mindre buggar också. Jag kompilerar så mycket jag kan från source av samma anledning. Vanligtvis går det inte verifiera att en precompiled binary kommer från den källkoden som påstås utan modifieringar så genom att kompilera allt själv kapar jag ut mellanhanden.

Permalänk
Medlem

Jag har uppdaterat på Linux Mint kärnan ibland, men det kan få negativa konsekvenser. Även den senaste grafikdrivrutinen kan bli ej kompatibel och inte funkar som den ska, men som sagt så ligger den gamla kvar ifall det skulle skita sig om man inte raderat den dvs

Visa signatur

Coca Cola missbrukare Förbjuden dryck för mig pga diabetes
AMD älskare
Katt älskare

Permalänk
Medlem

Nej, varför?

If it works don´t break it.

Permalänk
Medlem
Skrivet av Emaku:

Jag kompilerar min egen kernel på alla mina system inklusive Rpi. Jag gör det framför allt för extra säkerhet. En kärna utan stöd för all obskyr hårdvara och nätverksprotokoll har en mindre attack surface och kanske mindre buggar också. Jag kompilerar så mycket jag kan från source av samma anledning. Vanligtvis går det inte verifiera att en precompiled binary kommer från den källkoden som påstås utan modifieringar så genom att kompilera allt själv kapar jag ut mellanhanden.

Har du verifierat att din kompilator kommer från källkoden i alla led?
Kompilerar du din kärna som statisk utan modulstöd?

Permalänk
Medlem

Jag kompilerar min egna kärna på desktopen. Jag slipper initrd och kör nästan bara radeon-drivrutinen i modulform. Men jag ska tillägga att jag använder Gentoo och då fungerar dessa saker extra bra.

Visa signatur

Gentoo Desktop: Ryzen 3600X | 32 GB
Server: Intel G7400T
Commodore 64C + 1541u2

Permalänk
Medlem

Slackware entusiast sedan 1995, att göra nnat än att kompilera mina egna kärnor är helt uteslutet, speciellt eftersom jag allt som oftast har ett kompulsivt behov av att modifiera nya kernels, i övrigt så håller jag med Emaku, så säkerhet bidrar till mitt tänk.

Visa signatur

SNÄLLA CITERA MIG OM NI VILL ATT JAG SKA HITTA TILLBAKS TILL TRÅDEN

Permalänk
Medlem

Jag brukade gora det ofta forut, men kanns inte som om det ar lika viktigt langre. Orsaken jag burkade gora det var for att kanda distros brukade kora relativt gammla "stable" kernels, men nu for tiden sa hanger dom med battre.

Permalänk
Medlem
Skrivet av devhdc:

Slackware entusiast sedan 1995, att göra nnat än att kompilera mina egna kärnor är helt uteslutet, speciellt eftersom jag allt som oftast har ett kompulsivt behov av att modifiera nya kernels, i övrigt så håller jag med Emaku, så säkerhet bidrar till mitt tänk.

Ställer samma frågor till dig även om dom är semi OT:
Har du verifierat att din kompilator kommer från källkoden i alla led?
Kompilerar du din kärna som statisk utan modulstöd?

Permalänk
Medlem
Skrivet av aluser:

Ställer samma frågor till dig även om dom är semi OT:
Har du verifierat att din kompilator kommer från källkoden i alla led?
Kompilerar du din kärna som statisk utan modulstöd?

Inte riktigt säker på vad du menar med din första fråga, har jag kollat om binärerna till mina compilers verkligen kommer från source, eller vad?

Jag har visst modulstöd på en del servrar, men det är för att jag bygger ett 42-disk raid och testar en satans massa RAID-kort för att se vilka som klarar av mina specs.

Visa signatur

SNÄLLA CITERA MIG OM NI VILL ATT JAG SKA HITTA TILLBAKS TILL TRÅDEN

Permalänk
Medlem
Skrivet av devhdc:

Inte riktigt säker på vad du menar med din första fråga, har jag kollat om binärerna till mina compilers verkligen kommer från source, eller vad?

Jag har visst modulstöd på en del servrar, men det är för att jag bygger ett 42-disk raid och testar en satans massa RAID-kort för att se vilka som klarar av mina specs.

Korrekt uppfattat på första frågan. Det var mer riktat till emaku som hävdade säkerhet genom kompilering då han inte kunde se koppling mellan binären och källkoden men om man inte kollar kompilatorn så finns ju ken thompsons klassiska attack mot kompilatorn och dess moderna varianter (http://www.acsa-admin.org/2005/abstracts/47.html)

Raid till företag?

Permalänk
Medlem
Skrivet av aluser:

Korrekt uppfattat på första frågan. Det var mer riktat till emaku som hävdade säkerhet genom kompilering då han inte kunde se koppling mellan binären och källkoden men om man inte kollar kompilatorn så finns ju ken thompsons klassiska attack mot kompilatorn och dess moderna varianter (http://www.acsa-admin.org/2005/abstracts/47.html)

Den där är faktiskt fruktansvärt smart och i allra högsta grad en stor irritation i att den är extremt svår att hitta, kompilatorn är det sista man misstänker när det gäller säkerhet som lekman..

Men nu är det så att jag har kontinuerligt kört Slackware non-stop, och när jag uppgraderat kompilatorer och en del annat så har jag kompilerat dom själv på en annan server, och sen installerat dom manuellt, så jag tror nog att jag är OK på den fronten.

Skrivet av aluser:

Raid till företag?

Hehe .. 0.165 PB privat filserver är det då inte.. Jag bygger lite på en stor backuplösning som utgörs av flertalet servrar med identisk konfiguration, hårdvaran bygger på Backblaze pods, kan inte säga så mycket mer, annat än att jag stresstestar raidkort nu baserat på tester från http://www.thessdreview.com/

Visa signatur

SNÄLLA CITERA MIG OM NI VILL ATT JAG SKA HITTA TILLBAKS TILL TRÅDEN

Permalänk
Avstängd

jag tycker det har gått för långt med säkerhetstänket om man kompilerar allt på egen hand för att undvika skadlig kod, iallafall när det gäller mer serlösa linuxdistributioner. Det är klart att om man använder datorn till väldigt kritiska saker så vill man ha hösta tänkbara säkerhet, typ om man jobbar med kärnvapen i iran, för vanligt folk så tycker jag det räcker om man håller sig till trovärdiga reposities. Hur vanligt är det egentligen att offeciella paket till ex arch linux eller debian innehåller skadlig kod?

Permalänk
Medlem
Skrivet av devhdc:

Den där är faktiskt fruktansvärt smart och i allra högsta grad en stor irritation i att den är extremt svår att hitta, kompilatorn är det sista man misstänker när det gäller säkerhet som lekman..

Men nu är det så att jag har kontinuerligt kört Slackware non-stop, och när jag uppgraderat kompilatorer och en del annat så har jag kompilerat dom själv på en annan server, och sen installerat dom manuellt, så jag tror nog att jag är OK på den fronten.

Dold text

Hehe .. 0.165 PB privat filserver är det då inte.. Jag bygger lite på en stor backuplösning som utgörs av flertalet servrar med identisk konfiguration, hårdvaran bygger på Backblaze pods, kan inte säga så mycket mer, annat än att jag stresstestar raidkort nu baserat på tester från http://www.thessdreview.com/

Hehehe tänkte mer om det var för ett företag specifikt eller för att du säljer sådana system men det blev snabbt avslut på inlägget. Kan du en dag säga mer får du gärna slänga ett pm med mer info för jag är ständigt nyfiken på såna system.