Custom Kernel til Ubuntu
-
- Admin
- Indlæg: 10721
- Tilmeldt: 26. apr 2008, 19:27
- IRC nickname: Christian_Arvai
- Geografisk sted: Holeby - Lolland
Custom Kernel til Ubuntu
Hej venner.
Jeg har et lille projekt, som at jeg vil se på i sommerferien. Jeg kan så godt bruge en hånd, da dette er lidt ud over hvad, at jeg plejer at finde på af skøre påfund
Jeg vil lave min egen Kernel til Ubuntu, og have den installeret som fast Kernel på min Studie-pc. Som basic tager jeg bare den nyeste udgivelse, og så skal jeg have ændret navnet, sådan at Kernel hedder:
Dem af forums medlemmer, der kender Terminator-filmene, vil muligvis kunne huske dette fra filmen:

Det skulle gerne ende med at, jeg med en "uname -a" kan få noget der ligner dette:
So, How to do it?
PS: Det haster ikke. Jeg skal lige forbi eksamen først, men det skader jo ikke at starte lidt op.
Jeg har et lille projekt, som at jeg vil se på i sommerferien. Jeg kan så godt bruge en hånd, da dette er lidt ud over hvad, at jeg plejer at finde på af skøre påfund

Jeg vil lave min egen Kernel til Ubuntu, og have den installeret som fast Kernel på min Studie-pc. Som basic tager jeg bare den nyeste udgivelse, og så skal jeg have ændret navnet, sådan at Kernel hedder:
Kode: Vælg alt
4.1.15-1.1.1381_SKYN12nnmp
Dem af forums medlemmer, der kender Terminator-filmene, vil muligvis kunne huske dette fra filmen:

Det skulle gerne ende med at, jeg med en "uname -a" kan få noget der ligner dette:
Kode: Vælg alt
chr@chr:~$ uname -a
Linux chr 4.1.15-1.1.1381_SKYN12nnmp #86-Ubuntu SMP Mon May 4 04:32:59 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
chr@chr:~$
So, How to do it?
PS: Det haster ikke. Jeg skal lige forbi eksamen først, men det skader jo ikke at starte lidt op.
Med venlig hilsen Christian
"We can only see a short distance ahead, but we can see plenty there that needs to be done." -- Alan Turing
"We can only see a short distance ahead, but we can see plenty there that needs to be done." -- Alan Turing
-
- Admin
- Indlæg: 20840
- Tilmeldt: 15. nov 2009, 15:04
- IRC nickname: AJenbo
- Geografisk sted: Vanløse, København
Re: Custom Kernel til Ubuntu
Måske kan det gøres lettere med en hex editor
Eller en falsk uname.

-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: Custom Kernel til Ubuntu
Du kan sætte navnet et eller andet sted i konfiguratioen - så vidt jeg lige husker det. Kerne nummer kan man måske ikke sådan lige rette i - jeg har i alt fald ikke prøvet.
Den her guide ligner meget godt det jeg gjorde sidst(*) jeg lavede en kerne:
http://www.thegeekstuff.com/2013/06/compile-linux-kernel/
Meget vigtigt: Alle device driver der skal bruges ved boot - absolut skal - inkluderes i kernen=de må ikke være et kerne modul (som bor i en *.ko fil).
Har du glemt noget så får du en kernel panic ved boot, da kernen mangler device driveren for at komme videre i boot processen.
Det er specielt alt hvad der vedrører filsystemet, block device driver og så videre og hele vejen indtil mikroprocessoren - husk også device drivere for controllere, PCI og SATA er et godt eksempel.
/Lars
(*): Det er nok omkring 10+ år siden.
Den her guide ligner meget godt det jeg gjorde sidst(*) jeg lavede en kerne:
http://www.thegeekstuff.com/2013/06/compile-linux-kernel/
Meget vigtigt: Alle device driver der skal bruges ved boot - absolut skal - inkluderes i kernen=de må ikke være et kerne modul (som bor i en *.ko fil).
Har du glemt noget så får du en kernel panic ved boot, da kernen mangler device driveren for at komme videre i boot processen.
Det er specielt alt hvad der vedrører filsystemet, block device driver og så videre og hele vejen indtil mikroprocessoren - husk også device drivere for controllere, PCI og SATA er et godt eksempel.
/Lars
(*): Det er nok omkring 10+ år siden.
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
-
- Admin
- Indlæg: 20840
- Tilmeldt: 15. nov 2009, 15:04
- IRC nickname: AJenbo
- Geografisk sted: Vanløse, København
Re: Custom Kernel til Ubuntu
Et godt sted at starte er her:
https://help.ubuntu.com/community/Kernel/Compile
Det er egentlig ikke så svært, og så længe du ikke ændre noget er alt sat op som med den normale kerne og du behøves ikke tage højde for ko-filer etc.
https://help.ubuntu.com/community/Kernel/Compile
Det er egentlig ikke så svært, og så længe du ikke ændre noget er alt sat op som med den normale kerne og du behøves ikke tage højde for ko-filer etc.
-
- Admin
- Indlæg: 3649
- Tilmeldt: 5. mar 2010, 19:58
- IRC nickname: nicky
- Geografisk sted: 192.168.20.42
Re: Custom Kernel til Ubuntu
Jeg har ligesom Lars også tidligere bygget kernels uden de store problemer, og jeg overvejer faktisk også at starte igen, for udover alt det man lære, så kunne jeg godt mærke forskel på hastigheden. En custom kernel som kun indeholder det nødvendige, kører nemlig rigtig godt. Det skal dog nævnes, at jeg bruger strømbesparende hardware med begrænset ydelse.
Som generelt råd vil jeg anbefale at bygge alt ind i kernen, således at den ikke skal hente diverse moduler under opstart. Processen kan dog godt drille lidt, for som Lars skriver er grænsen imellem en panic og en fungerende kernel én driver.
Da jeg byggede var det på Debian, og der kunne man fortælle konfigurationsprogrammet at det skulle bruge den nuværende kernels indstillinger, hvilket gør tingende nemmere. Derefter kan man så gå ind og deaktivere fx SCSI enheder, forudsat at man ikke bruger dem, selvfølgelig
Du skal tage stilling til om du vil bruge Ubuntus LTS kernel (hvis en sådan findes?), eller om du hellere vil bruge vanilla fra kernel.org. Ulemper og fordele er de sædvanlige: En LTS kernel skal kun bygges én gang, imens kernel.org udgiver hver 3. måned. På den anden side er kernel.org current, set i forhold til patches og funktioner, og med lidt arbejde kan byggeprocessen automatiseres langt hen ad vejen.
Jeg vil anbefale at du bygger i hjemmemappen uden brug af sudo, og så laver en APT pakke ud af kernen, som du så installerer manuelt. På den måde bygger du uden risiko og har 100% styr på tingende.
Og ellers siger du bare til
Som generelt råd vil jeg anbefale at bygge alt ind i kernen, således at den ikke skal hente diverse moduler under opstart. Processen kan dog godt drille lidt, for som Lars skriver er grænsen imellem en panic og en fungerende kernel én driver.
Da jeg byggede var det på Debian, og der kunne man fortælle konfigurationsprogrammet at det skulle bruge den nuværende kernels indstillinger, hvilket gør tingende nemmere. Derefter kan man så gå ind og deaktivere fx SCSI enheder, forudsat at man ikke bruger dem, selvfølgelig

Du skal tage stilling til om du vil bruge Ubuntus LTS kernel (hvis en sådan findes?), eller om du hellere vil bruge vanilla fra kernel.org. Ulemper og fordele er de sædvanlige: En LTS kernel skal kun bygges én gang, imens kernel.org udgiver hver 3. måned. På den anden side er kernel.org current, set i forhold til patches og funktioner, og med lidt arbejde kan byggeprocessen automatiseres langt hen ad vejen.
Jeg vil anbefale at du bygger i hjemmemappen uden brug af sudo, og så laver en APT pakke ud af kernen, som du så installerer manuelt. På den måde bygger du uden risiko og har 100% styr på tingende.
Og ellers siger du bare til

-
- Admin
- Indlæg: 20840
- Tilmeldt: 15. nov 2009, 15:04
- IRC nickname: AJenbo
- Geografisk sted: Vanløse, København
Re: Custom Kernel til Ubuntu
4.1 kerne er i øvrigt lige blevet erklæret for lts
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: Custom Kernel til Ubuntu
Linux Foundation er host for et projekt der hedder Yocto(1):
Det er mest for embedded (indlejrede) systemer - men ser spændende ud på grund at de værktøjer der findes til den(2).
Umiddelbart ser Yocto ud til at være en slags "Linux from scratch(3) - the easy way" - for indlejrede systemer, men de har også support for x86 og x86-64 processorer, så man burde vel også kunne lave et image til sin egen DIY desktop Linux distro.
Links:
/Lars
Det er mest for embedded (indlejrede) systemer - men ser spændende ud på grund at de værktøjer der findes til den(2).
Umiddelbart ser Yocto ud til at være en slags "Linux from scratch(3) - the easy way" - for indlejrede systemer, men de har også support for x86 og x86-64 processorer, så man burde vel også kunne lave et image til sin egen DIY desktop Linux distro.
Links:
- https://www.yoctoproject.org/documentation
- https://www.yoctoproject.org/tools-resources/projects/gui-development-tools - her tænker der på "Hob" hvorfra du kan lave et DIY image - (jeg tror at jeg vil se om jeg kan lave noget til et til mine Raspberry Pi computere).
- http://www.linuxfromscratch.org/
- Se:
- LFS
- BFLS
- ALFS
- CLFS
- HLFS
- LiveCD: Bemærk at LiveCD ikke virker med LFS >=7.0
/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
-
- Admin
- Indlæg: 10721
- Tilmeldt: 26. apr 2008, 19:27
- IRC nickname: Christian_Arvai
- Geografisk sted: Holeby - Lolland
Re: Custom Kernel til Ubuntu
I mangel på tid har jeg taget den nemme løsning. Jeg har lavet scriptet uname.sh med dette indhold:
Resultat "uname -a"
Resultat "uname.sh"
Så behøver vi vist ikke at bruge mere energi på den joke
Jeg takker for hjælpen.
Kode: Vælg alt
#!/bin/sh
#
# Author: Christian Arvai
# Credits to: Ubuntu Denmark LoCo Team
# For all Ubuntu releases from 12.04 to current stabil
# To 32 and 64 bits systems
# This code is available under the creative commons attribution-sharealike license https://creativecommons.org/licenses/by-sa/4.0/
# print the kernel version
kernel=$(uname -v)
# print the operating system
os=$(uname -o)
# print the machine hardware name
bit=$(uname -m)
# print the network node hostname
user=$(uname -n)
echo "Linux $user 4.1.15-1.1.1381_SKYN12nnmp $kernel $bit $bit $bit $os"
Resultat "uname -a"
Kode: Vælg alt
Linux chr 3.19.0-20-generic #20-Ubuntu SMP Fri May 29 10:10:47 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Resultat "uname.sh"
Kode: Vælg alt
Linux chr 4.1.15-1.1.1381_SKYN12nnmp #20-Ubuntu SMP Fri May 29 10:10:47 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Så behøver vi vist ikke at bruge mere energi på den joke

Med venlig hilsen Christian
"We can only see a short distance ahead, but we can see plenty there that needs to be done." -- Alan Turing
"We can only see a short distance ahead, but we can see plenty there that needs to be done." -- Alan Turing
-
- Admin
- Indlæg: 20840
- Tilmeldt: 15. nov 2009, 15:04
- IRC nickname: AJenbo
- Geografisk sted: Vanløse, København
Re: Custom Kernel til Ubuntu
Du kan omdøbe det det til uname i din egen ~/bin mappe så burde den vist blive taget før den rigtige kommando.
-
- Admin
- Indlæg: 3649
- Tilmeldt: 5. mar 2010, 19:58
- IRC nickname: nicky
- Geografisk sted: 192.168.20.42
Re: Custom Kernel til Ubuntu
AJenbo skrev:Du kan omdøbe det det til uname i din egen ~/bin mappe så burde den vist blive taget før den rigtige kommando.
Yep, Linux følger generelt FSH, som giver en klar præcedens over kommandoer:
Kode: Vælg alt
Alias <--> ~/bin <--> /usr/local/bin <--> /bin
Alias' er dem sat i Shell'ens rc-fil, fx ~/.bashrc for Bash.
Bare husk at holde styr på det... Programmet whereis kan bruges til at se hvor det kørte program ligger.
Tilbage til "Tekniske spørgsmål generelt"
Hvem er online
Brugere der læser dette forum: [Crawler] og 0 gæster