HOWTO: Kompilera 2.6.33 med make-kpkg fungerande.

Här kan du dela med dig av dina bästa tips och knep.
Kategoriregler
Här ligger de utförliga instruktionerna vi kan tänkas behöva. Leta här om du tex behöver installera nåt program eller sätta upp någon funktion. Starta inte trådar utan att ha ett svar.
Användarvisningsbild
AndreasS
Inlägg: 121
Blev medlem: 31 jan 2010, 18:21
OS: Ubuntu
Utgåva: 20.04 Focal Fossa LTS
Ort: Örebro

HOWTO: Kompilera 2.6.33 med make-kpkg fungerande.

Inlägg av AndreasS »

HowTo: Kompilera kärnan själv. (2.6.33)

Detta är inget jag rekommenderar nybörjare till. Ubuntus färdigbyggda kärnor räcker mer än väl. Men känner man att man vill ta steget och experimentera lite, eller vilja hålla sig med nyaste kärnan så är detta en beskrivning på hur det görs i Ubuntu.

Ladda hem och packa upp kärnan.

http://www.kernel.org hittar du alltid de senaste källkoderna till kärnorna. Denna HowTo kommer att beskriva hur vi kompilerar version 2.6.33

Först laddar vi hem några paket som behövs för att kompilera en kernel genom kommandot

Kod: Markera allt

sudo apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev wget libncurses5 libncurses5-dev
Ladda hem vald kernel version på http://www.kernel.org

Öppna en terminal och gör dig själv till root genom kommandot

Kod: Markera allt

sudo -s
Sedan använder vi kommandot mv för att flytta källkoden till kärnan till dess rätta plats.

Kod: Markera allt

mv /home/dittanvändarnamn/Hämtningar/linux*.bz2 /usr/src
Nu flyttar vi oss till /usr/src och packar upp källkoden till kärnan

Kod: Markera allt

cd /usr/src 

Kod: Markera allt

tar -xvjf linux-2.6.33.tar.bz2
Sedan är det dags att göra en symlink mellan från källkodskatalogen till linux genom att använda kommandot

Kod: Markera allt

ln -s linux-2.6.33 linux
Sedan flyttar vi oss in i linux genom kommandot

Kod: Markera allt

cd linux
Konfigurera kärnan

Vi hämtar konfigurationen från den kärnan du kör just nu genom kommandot

Kod: Markera allt

cp /boot/config-$(uname -r) .config && yes "" | make oldconfig
Nu är det dags att börja konfigurera kärnan som du vill ha den, antingen kan man göra det i terminalen direkt eller i ett X program. För att använda X programmet till konfigurationen skriver vi in kommandot

Kod: Markera allt

make xconfig
Vill du hellre använda terminalen eller kanske du rent av är i konsollen så använder vi kommandot

Kod: Markera allt

make menuconfig
Gå genom alla menyer och undermenyer och lägg till eller ta bort stöd enligt dina önskemål. Om du inte riktigt känner dig säker så kan du välja exit och spara konfigurationen, då blir det samma konfiguration som kerneln du kör just nu använder.

Nu ska vi städa upp källkoden och ställa in regler för hur den ska byggas, vi vill ha den i *.deb paket för enkelhetens skull.

Kod: Markera allt

make-kpkg debian
* i normalfall använder man make-kpkg clean, men pga bugg i make-kpkg använder vi debian.

Om det är version 2.6.33 du använder behöver vi editera en fil pga en bugg i make-kpkg som beror på att en fil i källkodsstrukturen har flyttats/ändrats. Är det kärna 2.6.32.* behövs inte nästa steg göras.

Kod: Markera allt

gedit debian/ruleset/misc/version_vars.mk
Gå till rad 141 och byt ut:

Kod: Markera allt

UTS_RELEASE_HEADER=$(call doit,if [ -f include/linux/utsrelease.h ]; then \
                               echo include/linux/utsrelease.h; \
                           else \
                                echo include/linux/version.h ; \
Till:

Kod: Markera allt

UTS_RELEASE_HEADER=$(call doit,if [ -f include/generated/utsrelease.h ]; then \
                              echo include/generated/utsrelease.h; \
                           elif [ -f include/linux/utsrelease.h ]; then \
                               echo include/linux/utsrelease.h; \
                           else \
                                echo include/linux/version.h ; \
Spara och avsluta.

Kompilera

Nedan är ett exempel på ett kommando för att börja kompilera kärnan. Ändra CONCURRENCY_LEVEL till ett nummer högre än antal processorer (cores) din dator har. Min har bara en, därför skriver jag 2. Har du 2 skriver du 3 etc.

Kod: Markera allt

INSTALL_MOD_STRIP=1 CONCURRENCY_LEVEL=2 make-kpkg --initrd --append-to-version=-minkernel kernel_image kernel_headers modules_image

När allt är färdigt flyttar vi oss till /usr/src genom kommandot

Kod: Markera allt

cd ..
Installera *.deb paketen genom kommandot

Kod: Markera allt

dpkg -i *.deb

Använder du NVIDIAS drivrutiner? Fortsätt läs.

Om du använder nvidias drivrutiner behöver de tas bort.
Öppna synaptic och sök på nvidia, ta bort alla paketen som innehåller namnet nvidia och ta även bort paketet dkms.

För att kunna använda nvidias drivrutiner till kärna 2.6.33 behövs version
195.*

Ladda hem den:


Använder du 32 bitars: ftp://download.nvidia.com/XFree86/Linux ... 3-pkg1.run

Använder du 64 bitars: ftp://download.nvidia.com/XFree86/Linux ... 3-pkg2.run

Spara i din hemkatalog.

Nu ska vi starta om datorn – och när den startar upp kommer inte X att startas, för nvidias drivrutin saknas ju. Välj logga in i konsoll.

Kod: Markera allt

sudo reboot
Logga in med användarnamn och lösenord.

Installera nvidias drivrutiner genom

Kod: Markera allt

sudo sh NVIDIA*
Efter det är färdigt startar vi om datorn med kommandot

Kod: Markera allt

sudo reboot
Nu ska allt vara klart och fungera!


Tack till master_kernel på: http://ubuntuforums.org/showthread.php?t=311158

Och informationen från https://bugs.launchpad.net/ubuntu/+sour ... bug/498747

Som gav en fungerande fix för make-kpkg problemet.
Senast redigerad av 4 AndreasS, redigerad totalt 1 gång.
Användarvisningsbild
pun
Inlägg: 5317
Blev medlem: 20 okt 2007, 22:11
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

Re: HOWTO: Kompilera 2.6.33 med make-kpkg fungerande.

Inlägg av pun »

Stor "tummen upp" för guiden ;) . Masterkernel tråden brukar jag själv följa och det gör det enkelt. Ännu enklare nu på svenska för de som är nyfikna på "kärnknåderi".

Oturligt nog så är det då ett fel just nu så det blir lite extra "pillrande".

Det bör även poängteras att man behöver en något sånär modern dator eftersom kompileringen slukar CPU-kraft och tid.
Minst en timme får man räkna med.
Användarvisningsbild
AndreasS
Inlägg: 121
Blev medlem: 31 jan 2010, 18:21
OS: Ubuntu
Utgåva: 20.04 Focal Fossa LTS
Ort: Örebro

Re: HOWTO: Kompilera 2.6.33 med make-kpkg fungerande.

Inlägg av AndreasS »

pun skrev:Stor "tummen upp" för guiden ;) . Masterkernel tråden brukar jag själv följa och det gör det enkelt. Ännu enklare nu på svenska för de som är nyfikna på "kärnknåderi".

Oturligt nog så är det då ett fel just nu så det blir lite extra "pillrande".

Det bör även poängteras att man behöver en något sånär modern dator eftersom kompileringen slukar CPU-kraft och tid.
Minst en timme får man räkna med.
Tack,

Visst, det bör poängteras att det kan ta väldigt lång tid och att datorn kan t.om bli oanvändbar under denna tid.
På min laptop som har en amd sempron 2.1ghz tar det en och en halv timma ungefär - men då använder jag ganska mycket moduler - inte sådan stor skillnad från stock-kerneln.

Ramminne och swap kan också användas till stor del under kompileringen.
Användarvisningsbild
gruble
Inlägg: 704
Blev medlem: 24 maj 2007, 11:30
OS: Foresight
Utgåva: 20.04 Focal Fossa LTS

Re: HOWTO: Kompilera 2.6.33 med make-kpkg fungerande.

Inlägg av gruble »

Din how to fungerade superbra. Det enda extra var att installera libncurses5-dev från programcentralen och något för att fixa make-kpkg. Men där fick jag komandot av terminalen på raden ovanför, så det var bara att kopiera in det och installera.

Kompileringen tog ca: 25 min (8gb ram och ssd disk) Och det bästa av allt var möjligheten plocka bort kvm ur kerneln så länge.
posted from a silent usb, cf, sdhc, ssd or revodrive started pc. Ext2Fsd Project PC-BSD® PenDriveLinux UsbForum SSD review
Användarvisningsbild
AndreasS
Inlägg: 121
Blev medlem: 31 jan 2010, 18:21
OS: Ubuntu
Utgåva: 20.04 Focal Fossa LTS
Ort: Örebro

Re: HOWTO: Kompilera 2.6.33 med make-kpkg fungerande.

Inlägg av AndreasS »

gruble skrev:Din how to fungerade superbra. Det enda extra var att installera libncurses5-dev från programcentralen och något för att fixa make-kpkg. Men där fick jag komandot av terminalen på raden ovanför, så det var bara att kopiera in det och installera.

Kompileringen tog ca: 25 min (8gb ram och ssd disk) Och det bästa av allt var möjligheten plocka bort kvm ur kerneln så länge.
Tack,

Ska uppdatera howton med vad som behövs, det är build-essential och lite till.
Kul att det gick bra för dig!
Skriv svar

Återgå till "Guider"