Initrd?

Här ställer ni allmäna frågor kring Slackware Linux

Moderatorer: Nille, nomicon, Minime

amandus
Lärling
Inlägg: 82
Blev medlem: 16 maj 2004 17:21

Initrd?

Inlägg av amandus »

Är det egentligen någon fördel att skapa initrd? Och dom andra huge kärnorna kan man bara ta bort dom och uppdatera grub?

Och ta bort alla synlänkar och skapa nya som pekar på generic kernel config generic och System.map generic?
//Bengt

Slackware-current 64 .
Arch Linux 64 Gnome.
Apple Mac OSX
Användarens profilbild
MDKDIO
Kodnisse
Inlägg: 2144
Blev medlem: 21 apr 2005 08:24
ORT: Bollnäs

Re: Initrd?

Inlägg av MDKDIO »

Hej Bengt!

Antar att du bytt kärna till någon annan än standard "huge"?

För byte till en "generic" kärna:
https://docs.slackware.com/slackware:be ... ric_kernel

I övrigt kanske detta kan vara läsvärt...
https://docs.slackware.com/howtos:slack ... _an_initrd

Inget av detta svarar egentligen på din fråga ang initrd, men har din dator UEFI hårdvara?
https://docs.slackware.com/howtos:slack ... d_hardware
Slackware 64-bit 15.0 (Desktop x2)
Slackware 64-bit Current (Laptop)
Slackware 64-bit 15.0 (Laptop x2)
Slackware 64-bit 15.0 (XFCE) (Netbook)
Användarens profilbild
Nille
Guru
Inlägg: 1475
Blev medlem: 17 jun 2004 02:41

Re: Initrd?

Inlägg av Nille »

Det är ingen fråga med ett direkt svar men som regel så fungerar huge kerneln utan någon initrd.gz
Generic kerneln brukar behöva initrd.
Om du kompilerar en egen kernel så kan du välja stöd för det du behöver och slippa skapa en initrd.
Det finns konfigurationer där även huge behöver en initrd.
Skillnaden mellan att använda en huge eller generic kernel är vad som laddas in i minnet, med en modern dator med mycket minne för normalt bruk hemma spelar det ingen roll men på servrar kan det vara önskvärt att slippa allt onödigt.
Förr så kompilerade jag ofta egen kernel men nu för tiden sker det sällan även på många servrar.
Initrd är endast för att läsa in moduler/stöd som inte är kompilerat direkt i kerneln utan som moduler istället men som behövs tidigt under uppstarten.
Jag använder initrd för btrfs i generic kernel men det behövs inte till huge.
I huge så är kernel-konfigurationen för btrfs kompilerad direkt i kerneln CONFIG_BTRFS_FS=y medans i generic är den en modul CONFIG_BTRFS_FS=m vilket gör att det krävs att btrfs laddas via initrd.gz med en generic kernel.

System.map tror jag inte behövs längre då CONFIG_KALLSYMS används och det få tillfällen som kräver System.map inte är speciellt vanligt förekommande längre, jag tror att svgalib kräver System.map vid kompilering.
Jag använder endast System.map av vana för att jag alltid gjort det och den tar lite plats.

Symlänka config till config-generic eller config-huge är egentligen rätt onödigt och fyller ingen funktion då config är den man har som default (om du installerar både generic och huge så pekar den mot den senast installerade vilket är huge vid en normal uppdatering om du installerar om generic så pekar den mot den istället).
Det enklaste sättet att se aktuell kernel config (den du kör just då) är snarare "zcat /proc/config.gz" eller zgrep om man vill söka något i config.
The more linux you go the slacker you get.
amandus
Lärling
Inlägg: 82
Blev medlem: 16 maj 2004 17:21

Re: Initrd?

Inlägg av amandus »

Jag får så ful boot med initrd några insmod som jag inte vill se så jag struntar nog i initrd, har 8gb ram så det kvittar.

Tack för utförligt svar🤙
//Bengt

Slackware-current 64 .
Arch Linux 64 Gnome.
Apple Mac OSX
Användarens profilbild
MDKDIO
Kodnisse
Inlägg: 2144
Blev medlem: 21 apr 2005 08:24
ORT: Bollnäs

Re: Initrd?

Inlägg av MDKDIO »

@Nille
Tusen tack för utförlig info (som vanligt) :)

Man lär sig något nytt varje dag :)
Slackware 64-bit 15.0 (Desktop x2)
Slackware 64-bit Current (Laptop)
Slackware 64-bit 15.0 (Laptop x2)
Slackware 64-bit 15.0 (XFCE) (Netbook)
Användarens profilbild
Nille
Guru
Inlägg: 1475
Blev medlem: 17 jun 2004 02:41

Re: Initrd?

Inlägg av Nille »

Endast för att tråden ska vara mer komplett så nämner jag att det finns en mkinitrd_command_generator.sh i slackware som kan hjälpa en ovan med kommandorad för att skapa en initrd.
/usr/share/mkinitrd/mkinitrd_command_generator.sh
Dels så kan det /usr/share/mkinitrd/mkinitrd_command_generator.sh användas som den är och skapa ett kommando automatiskt men den raden innehåller mycket onödigt.
Skriptet har även ett interaktivt läge -i som gör att man kan bättre skräddarsy och få ett bättre passande kommando och växlar.
Detta kommando skapar endast en kommandorad i utmatning som senare kan avvändas för att skapa en initrd, det kör alltså inget kommando som skapar en initrd.
Om ni vill utforska skriptet mer så kör det med --help eller --longhelp för mer detaljerar information om ni inte går igenom skriptet i sig ;)

Onödigt vetande kanske men då verktyget finns i Slackware så nämner jag det.
The more linux you go the slacker you get.
Användarens profilbild
MDKDIO
Kodnisse
Inlägg: 2144
Blev medlem: 21 apr 2005 08:24
ORT: Bollnäs

Re: Initrd?

Inlägg av MDKDIO »

God morgon Nille och tackar så mycke för info.
Onödigt vetande? Knappast :)

Läser man "konfigurera ditt nya Slackware system" och speciellt "byte till generell kärna" så ser man ett exempel på det resultat man kan få när man kör /usr/share/mkinitrd/mkinitrd_command_generator.sh

Svensk version av guiden finns här
Slackware 64-bit 15.0 (Desktop x2)
Slackware 64-bit Current (Laptop)
Slackware 64-bit 15.0 (Laptop x2)
Slackware 64-bit 15.0 (XFCE) (Netbook)