» »

[linux] compajlanje kernela

[linux] compajlanje kernela

slovencl ::

Skompajlal in naložil sem si master verzijo kernela:

commit aa5b1054badb60191f6a09e7ef65beacf837c5d4 (HEAD -> master, origin/master, origin/HEAD)
Merge: e1dbc5a41051 0f52b3a00c78
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Fri Aug 24 09:34:23 2018 -0700
    Merge tag 'powerpc-4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux


vse je šlo ok, ampak ko napišem uname -a, mi izpiše:
Linux 4.18.0+ #5 SMP Sun Aug 26 21:13:11 CEST 2018 x86_64 x86_64 x86_64 GNU/Linux


Zakaj mi izpiše 4.18, če pa v commitu piše 4.19-2?

zee ::

Si nastavil v Grub-u, da se zazene nov kernel? Si rebootal?
zee
Linux: Be Root, Windows: Re Boot
Giant Amazon and Google Compute Cloud in the Sky.

slovencl ::

Grub nisem nastavil (ne vem zakaj se mi ne pokaže več opcij kernelov), ampak se je zgleda sam posodobil, ker sem imel original 4.15.0-23-generic (ubuntu 18.04). In tudi tale datum zraven, če prav razumem pomeni kdaj je bil kernel skompajlan? - ta datum ustreza.
Reset sem naredil.

Zgodovina sprememb…

  • spremenil: slovencl ()

zee ::

Popraviti moraš Grub in preko sudo pognati update-grub, nato pa še reboot.

V splošnem ni na Ubuntuju in ostalih binarnih distribucijah prav nobene potrebe po ročnem prevajanju kernela, ki ni za začetnike.
zee
Linux: Be Root, Windows: Re Boot
Giant Amazon and Google Compute Cloud in the Sky.

Ales ::

Verzija kernela pred parimi dnevi še ni bila posodobljena v Makefile.

Makefile v dnevih pred 26.8.:
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
PATCHLEVEL = 18
SUBLEVEL = 0
EXTRAVERSION =
NAME = Merciless Moray


..in potem se 26.8. zgodi commit 5b394b2ddf0347bef56e50c69a58773c94343ff3 :
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
PATCHLEVEL = 19
SUBLEVEL = 0
EXTRAVERSION = -rc1
NAME = Merciless Moray

Če si prevedel kernel pred tem commitom, potem si iz Makefile potegnil stare podatke o verziji.

slovencl ::

Ok, potem glede verzij je problem samo da ni bilo posodobljeno.

Še ena zadeva mi ni jasna. Rad bi našel povezavo med .config fajlom in kaj to pomeni za kompajlanje. Predvidevam da nekje mora pisati, kaj mora prevesti in zlinkat, če je vključena neka opcija v .config fajlu - kje so zapisane te informacije?

Invictus ::

Ravno v config filu, iz katerega automake naredi Make file, in le ta potem kontrolira prevajanje.

Vsaj v mojih Linux časih je bilo tako :D.
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

slovencl ::

V konfig fajlu so samo "stikala". Kaj točno pomeni to stikalo pa verjetno še nekje piše - to me zanima, kaj dodatno se bo skompajlalo v kernel, če vklopim določeno stikalo.

Problem je, ker vem kaj (kateri .c fajli) bi se morali skompajlat, pa se ne - ne vem pa s katero nastavitvijo to vključim (nikjer ni zapisano).

zee ::

Za konfiguriranje uporabi: make menuconfig ali kaj podobnega. Je dosti lazje kot pa rocno vklapljati in izklapljati zadeve.
zee
Linux: Be Root, Windows: Re Boot
Giant Amazon and Google Compute Cloud in the Sky.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Linux - prenosnik ne ugaša na novejših jedrih

Oddelek: Operacijski sistemi
252370 (1510) nergac
»

WiFi ne dela na Lenovo R500 z Ubuntu 10.04 LTS (64 bit)

Oddelek: Operacijski sistemi
181526 (1331) Icematxyz
»

Gentoo - problemi z framebuffer in ifconfig (strani: 1 2 )

Oddelek: Operacijski sistemi
674933 (4257) Zaibatsu
»

[Gentoo] Kernel upgrade (strani: 1 2 )

Oddelek: Operacijski sistemi
674804 (4330) Trubadur
»

Linux in NTFS

Oddelek: Operacijski sistemi
331839 (1292) moj_nick

Več podobnih tem