Gå til innhold

Den frie kafeen


Anbefalte innlegg

Videoannonse
Annonse

Hei! Gjennom skolen har jeg fått en ganske (for meg i alle fall) vanskelig oppgave: Jeg skal "lage" min egen Linux kjerne. Denne skal være så liten som mulig, uten å bruke modul(?) Jeg har brukt Linux generelt på server til noen småting, men har aldri vært i nærheten av å leke med kjernen på dette nivået. Om noen har noen fine linker til guider eller liknende så hadde det vært topp! Har 2 uker på oppgaven :thumbup:

Koseoppgave, du fikser det i kveld. Installer git, så kan du laste ned kildekoden:

git clone git://github.com/torvalds/linux.git

så leser du Linus' README, der står alt:

https://github.com/torvalds/linux/blob/master/README

Det er når du kjører

make menuconfig

at du velger hvilke moduler som du skal ha med, så her bør du bruke litt tid. Typisk tar du en lsmod på den kjernen du kjører nå for å se hva du trenger.

 

Skal prøve å følge den :thumbup: Det var visst heller ikke lov å bruke moduler, så kan bli spennende dette her..

Endret av TiduZ
Lenke til kommentar

Får en merkelig feil når jeg skal kompilere kjernen min. Etter

make menuconfig

og

make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers 

 

Surrer den og går litt før jeg får beskjeden "Nothing to be done". Hva er det, og hvordan blir jeg kvitt det?

Lenke til kommentar

Da har du fulgt noe annet enn lenken jeg ga deg. Sitter du på Debian eller Ubuntu og har fulgt en eller annen howto?

 

Da har jeg testet Linus sin egen oppskrift, og det funket fett. Kjerne 3.1.0-rc7+ bootet rett opp på min laptop. Med forbehold om at jeg kan ha glemt en linje har du alt i klipp-og-lim form her (menuconfig trenger ncurses biblioteket):

sudo apt-get install build-essential libncurses5-dev
git clone git://github.com/torvalds/linux.git
cd linux
make menuconfig
make -j 4 # bare endre 4 til det antall kjerner du ønsker skal brukes
sudo make modules_install install

Så er det bare å ta en reboot :)

Endret av Del
Lenke til kommentar

Takk, skal kjøre opp en maskin med den og. Fikk det forresten til, skrev bare "make" i stede for alle parametrene jeg listet over. Du vet ikke tilfeldigvis hvilken elementer som må bort i make menuconfig for å fjerne modulene? Kjernen min må boote uten noen som helst for for moduler..

Lenke til kommentar

Du vet ikke tilfeldigvis hvilken elementer som må bort i make menuconfig for å fjerne modulene? Kjernen min må boote uten noen som helst for for moduler..

Ingen må bort, alt kan kompileres innebygget. M betyr at det er som modul, * at det blir innebygget. Du kan kompilere inn alt hvis du vil bare med å endre alle M til *. De du er nødt til å ha med er de som er kritisk for å boote systemet, slik som støtte for filsystemet og harddisk kontroller. Som sagt finner du ut mye med å ta en lsmod på kjørende kjerne, alle drivere som trengs lastes inn automatisk ved boot. Selv drivere som er nødvendige for å kjøre systemet (slik som filsystem) kan kompileres som moduler. Linux fikser dette ved å bruke minne som disk til å begynne med. Det er derfor du trenger initrd-bilde, det lager en ramdisk for innlasting av drivere.

 

Når det gjelder hvilke drivere du trenger har Linus allerede gjort jobben for deg, du vil finne at mange moduler er forvalgt til å kompileres innebygget, og det dekker typisk de du trenger. Utover dette mener jeg den mest interessante delen av oppgaven din er nettopp å trimme kjernen, så bruk gjerne mye tid på å gjøre deg kjent med de forskjellige driverne, og se hvor hardt du klarer å trimme kjernen. Det er både lærerikt og morsomt. Siden du nå klarer å kompilere opp kjernen med et par linjer klipp og lim har du jo også mye tid til overs til den morsomme biten :)

 

Testet nettopp xconfig, er ikke alltid dumt med litt fyldig gui. Bare installer pkg-config, så kan du prøve

make xconfig

istedet for menuconfig.

Endret av Del
Lenke til kommentar

Den blir installert når du kjører make install. Du kan jo forsøke å dele opp modules_install og install i to linjer, det var ihvertfall slik jeg installerte, altså

sudo make modules_install
sudo make install

 

Kanskje du mangler initramfs-tools? Får du feilmelding?

 

Alternativt til direkte installering i de to linjene ovenfor, kan du også lage en rpm eller debian pakke. For Debian/Ubuntu blir det slik:

make deb-pkg

De ferdig pakkene vil ligge i mappen ovenfor.

Endret av Del
Lenke til kommentar
Gjest medlem-83883

Noen andre her som har erfaringer med OpenELEC? Jeg la det inn på min HTPC i dag, og må si jeg er mektig imponert. Det eneste som ikke fungerte med en gang var lyden, men det er fordi jeg sender den til en USB DAC. En liten endring i innnstillingene til XBMC, så var det også i orden.

 

Systemet er superraskt både i oppstart og bruk. Anbefales for de som ser etter alternativer til XBMC-live eller XBMCfreak sine Livd-ISO. Sikkert bedre enn GeeXboX også, men der har jeg ikke prøvd. :new_woot:

Lenke til kommentar

Hvordan er OpenELEC når det gjelder aksellerering på APU/GPU? Sliter med 1080p MKV i XBMC på AMD Fusion-maskina, som kjører Arch i bunnen.

 

Edit: Ser at de har egne uoffisielle Fusion-build. Tror jeg skal gi det et forsøk. Takk for tipset, ::2R:: :)

<h3></h3>

Endret av µp1is
Lenke til kommentar

Debianserveren har begynt å plutselig slutte å svare både på nettverk og ingen bilde på skjermen. Maskinen er fremdeles på og viftene og harddiskene suser.

 

Hvor kan jeg begynne å feilsøke?

/var/log/kern har ikke noe feil.

 

Har hatt en del trøbbel med harddiskene, kanskje det bare er hovedkortet? Det begynner jo å bli 5-6 år nå.

Lenke til kommentar

Jeg skal flytte en CentOS 5.x installasjon fra en 500GB disk til en 80GB disk (SSD)*. har dere noen enkel oppskrift på det? Denne virker ikke, da RedHat/CentOS setter noen rettigheter på noen filer slik at root ikke kan lese de :( Og da blir det bare surr.

 

*) Jeg har flyttet vekk nok data fra root partisjonen slik at det blir plass nok.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...