Autor Téma: Kompilace jádra ve zkratce  (Přečteno 8153 krát)

Offline Petr Slunský

  • Uživatel
  • ***
  • Příspěvků: 173
  • Karma: 5
  • Linux user #485524
    • Zobrazit profil
Re: Kompilace jádra ve zkratce
« Odpověď #15 kdy: 12. 02. 2009, 19:55:38 »
Kam ses nedostal?

Nebo spíše kam ses dostal?

Offline Erich "Erino72" Stark

  • Aktivní­ uživatel
  • ****
  • Příspěvků: 529
  • Karma: 2
    • Zobrazit profil
    • Osobny web :)
Re: Kompilace jádra ve zkratce
« Odpověď #16 kdy: 12. 02. 2009, 20:37:12 »
Najprv mi neslo sa dostat do priecinku /usr/scr/linux potom som ho zmazal a vytvoril este raz..a neviem co vsetko treba nechat zapnute alebo vypnute je tam toho fakt dost..mozno aj kebyze je to po slovensky si nepomozem :-D
a inak som to skusal skompilovat a do /boot/grub/menu.lst som zapisal title (nazov kernelu) a cestu k nemu..pri bootovani ked som ho vybral ze nenaslo mi cestu
" The box said that I needed to have Windows XP or better ... so I installed Debian ."
erino72@debian:~$ microsoft &> /dev/null

Offline Boogey

  • Uživatel
  • ***
  • Příspěvků: 159
  • Karma: 0
    • Zobrazit profil
Re: Kompilace jádra ve zkratce
« Odpověď #17 kdy: 12. 02. 2009, 20:41:07 »
Po kompilaci musis jeste s nejvetsi pravdepodobnosti vytvorit i prislusny initrd, a to prikazem: mkinitramfs -o /boot/initrd-2.6.X-nazev 2.6.X-nazev
Debian Squeeze 32bit, Kernel 2.6.26-2, (Server)
AMD Duron 700MHz@1Ghz, 640MB ram, GeForce 4 MX 64MB
Apache2, PHP5, Samba, ProFTPd, MySQL, KDE 4.2.2(na testovani)

Offline Petr Slunský

  • Uživatel
  • ***
  • Příspěvků: 173
  • Karma: 5
  • Linux user #485524
    • Zobrazit profil
Re: Kompilace jádra ve zkratce
« Odpověď #18 kdy: 13. 02. 2009, 23:27:29 »
Po kompilaci musis jeste s nejvetsi pravdepodobnosti vytvorit i prislusny initrd, a to prikazem: mkinitramfs -o /boot/initrd-2.6.X-nazev 2.6.X-nazev

To určitě ne. Kdyby postupoval návodu, který jsem publikoval, tak by to nepotřeboval (kompiluje se se zapnutým --initrd)

Erich má zatím ale problém se základy práce v konsoli, tak to bude muset ještě párkrát zkusit.

Offline Erich "Erino72" Stark

  • Aktivní­ uživatel
  • ****
  • Příspěvků: 529
  • Karma: 2
    • Zobrazit profil
    • Osobny web :)
Re: Kompilace jádra ve zkratce
« Odpověď #19 kdy: 14. 02. 2009, 12:58:53 »
Po kompilaci musis jeste s nejvetsi pravdepodobnosti vytvorit i prislusny initrd, a to prikazem: mkinitramfs -o /boot/initrd-2.6.X-nazev 2.6.X-nazev

To určitě ne. Kdyby postupoval návodu, který jsem publikoval, tak by to nepotřeboval (kompiluje se se zapnutým --initrd)

Erich má zatím ale problém se základy práce v konsoli, tak to bude muset ještě párkrát zkusit.

holt mam smolu...Musim sa viac ucit..precitat co najviac podrobnych navodou..ako spravit vsetko za sebou, mozno u niekoho su medziriadky samozrejme ale ja to bohuzial neviem :)..staci mi jeden taky navod..spravim to raz,dva,tri krat a uz to pojde od ruky :)
" The box said that I needed to have Windows XP or better ... so I installed Debian ."
erino72@debian:~$ microsoft &> /dev/null

Offline Boogey

  • Uživatel
  • ***
  • Příspěvků: 159
  • Karma: 0
    • Zobrazit profil
Re: Kompilace jádra ve zkratce
« Odpověď #20 kdy: 15. 02. 2009, 00:22:43 »
Neboj, to zvladns v pohode. Kuprikladu ja jsem vcera po docela dlouhym experimentovani dokazal nabootovat i bez initrd a pochopil, jak to funguje :D Je potreba si o tom jen neco precist nebo se poptat a taky venovat tomu nejakej cas. Postupne to pujde bez problemu.
Debian Squeeze 32bit, Kernel 2.6.26-2, (Server)
AMD Duron 700MHz@1Ghz, 640MB ram, GeForce 4 MX 64MB
Apache2, PHP5, Samba, ProFTPd, MySQL, KDE 4.2.2(na testovani)

Offline Erich "Erino72" Stark

  • Aktivní­ uživatel
  • ****
  • Příspěvků: 529
  • Karma: 2
    • Zobrazit profil
    • Osobny web :)
Re: Kompilace jádra ve zkratce
« Odpověď #21 kdy: 15. 02. 2009, 11:15:07 »
Neboj, to zvladns v pohode. Kuprikladu ja jsem vcera po docela dlouhym experimentovani dokazal nabootovat i bez initrd a pochopil, jak to funguje :D Je potreba si o tom jen neco precist nebo se poptat a taky venovat tomu nejakej cas. Postupne to pujde bez problemu.

No sak o to ide :-D
Len najhorsie je pochopit niektore veci ci ich zaskrknut v configuracii jadra alebo nie..pravdaze co je to filesystem to viem ale tak vseobecne ostatne :-D
Pocul som ze sa to da aj tak nejak ze pouzijem old config teda ten ktory je aktualny pouzity v systeme a len si tam pridam support mojej wifi karty :)
Ale uz som videl aj viac navodov. napr jeden taky ze sa to skompilovalo a dalo tusim do /boot/... a dalsi taky ze som z toho vsetkeho mal len .deb balicek a to nainstaloval.Aky je medzi tym rozdiel? Asi by mi viac vyhovovalo ten deb balicek pretoze ten si zalohujem a az by sa stalo nieco zo systemom nemusim kompilovat znova ale ho len nainstalujem :)
" The box said that I needed to have Windows XP or better ... so I installed Debian ."
erino72@debian:~$ microsoft &> /dev/null

Offline Boogey

  • Uživatel
  • ***
  • Příspěvků: 159
  • Karma: 0
    • Zobrazit profil
Re: Kompilace jádra ve zkratce
« Odpověď #22 kdy: 15. 02. 2009, 12:26:49 »
Muzu ti napsat postup, kterym to delam ja:

1) Stahnout jadro
Nejnovejsi vanilka:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.tar.bz2

2) Rozbalit
Osvedcilo se mi do: /usr/src/
a tam by to melo vytvorit adresar linux-VERZE - tento adresar jiz obsahuje archiv

3) Vyuziti konfigurace aktualniho jadra
v /boot/ je soubor config-VERZE tak ten nakopiruj do rozbalenyho adresare s kernelem pod nazvem .config, cili bez cisla verze a s teckou na zacatku
pokud jedes presne podle navodu, tak: /usr/src/linux-VERZE/.config 

4) Nastaveni kernelu dle potreb:
spustit terminal, nastavit akrualni adresar na /usr/src/linux-VERZE
make menuconfig nebo make xconfig popripade pro gnome make gconfig - je jedno, co pouzije, funguje to obdobne

5) Kompilace kernelu
make -j 3
a cekat, cekat, cekat :D

6) Instalace kernelu do /boot
make install

7) Instalace modulu do /lib/modules/VERZE
make modules_install

8) Pokud pouzivas initrd, tak:
update-initramfs -c -k VERZE

9) Update grubu
update-grub

10) Restart a modlit se :D

Poznamky:
Pokud u menu x/gconfig bude nejaky problem, tak pouzij menuconfig a nebo www.google.cz ;)

Vsechny operace je treba delat jako root.

textem VERZE je mysleno napriklad: 2.6.28.5-mujkernel
Zalezi taky, jak jste to nastavili v configu.
« Poslední změna: 25. 03. 2009, 20:57:01 od Boogey »
Debian Squeeze 32bit, Kernel 2.6.26-2, (Server)
AMD Duron 700MHz@1Ghz, 640MB ram, GeForce 4 MX 64MB
Apache2, PHP5, Samba, ProFTPd, MySQL, KDE 4.2.2(na testovani)

Offline Petr Slunský

  • Uživatel
  • ***
  • Příspěvků: 173
  • Karma: 5
  • Linux user #485524
    • Zobrazit profil
Re: Kompilace jádra ve zkratce
« Odpověď #23 kdy: 15. 02. 2009, 21:48:16 »
Neboj, to zvladns v pohode. Kuprikladu ja jsem vcera po docela dlouhym experimentovani dokazal nabootovat i bez initrd a pochopil, jak to funguje :D Je potreba si o tom jen neco precist nebo se poptat a taky venovat tomu nejakej cas. Postupne to pujde bez problemu.

No sak o to ide :-D
Len najhorsie je pochopit niektore veci ci ich zaskrknut v configuracii jadra alebo nie..pravdaze co je to filesystem to viem ale tak vseobecne ostatne :-D
Pocul som ze sa to da aj tak nejak ze pouzijem old config teda ten ktory je aktualny pouzity v systeme a len si tam pridam support mojej wifi karty :)
Ale uz som videl aj viac navodov. napr jeden taky ze sa to skompilovalo a dalo tusim do /boot/... a dalsi taky ze som z toho vsetkeho mal len .deb balicek a to nainstaloval.Aky je medzi tym rozdiel? Asi by mi viac vyhovovalo ten deb balicek pretoze ten si zalohujem a az by sa stalo nieco zo systemom nemusim kompilovat znova ale ho len nainstalujem :)

:) když budeš postupovat podle návodu, který jsem publikoval, tak budeš mít i .config zkopírovaný, jak o tom píšeš...

Pokud se ti nelíbí můj návod (který funguje 100%), nebo návod od Boogeyho, tak zkus třeba tento:

http://forum.ubuntu.cz/index.php/topic,25304.0.html

Offline Petr

  • Začátečník
  • **
  • Příspěvků: 53
  • Karma: 0
    • Zobrazit profil
    • Kulturistika, posilování
Re: Kompilace jádra ve zkratce
« Odpověď #24 kdy: 15. 02. 2009, 22:26:37 »
fakeroot make-kpkg --append-to-version "<-suffix>" --revision "<revision#>" --us --uc --initrd kernel_image kernel_headers

Nejsem v tom zatím nějak moc zběhlej a tento řádek mi není moc jasný, teda spíše "suffix". Díky za radu. :)
Nic není zadarmo a vše souvisí se vším.

Offline Erich "Erino72" Stark

  • Aktivní­ uživatel
  • ****
  • Příspěvků: 529
  • Karma: 2
    • Zobrazit profil
    • Osobny web :)
Re: Kompilace jádra ve zkratce
« Odpověď #25 kdy: 16. 02. 2009, 16:30:57 »
fakeroot make-kpkg --append-to-version "<-suffix>" --revision "<revision#>" --us --uc --initrd kernel_image kernel_headers

Nejsem v tom zatím nějak moc zběhlej a tento řádek mi není moc jasný, teda spíše "suffix". Díky za radu. :)

ja som to zadal ako

Kód: [Vybrat]
sudo make-kpkg --initrd --stem linux --revision=1.0 kernel_image kernel_headers
A zatial sa mi to kompiluje  ::)


EDIT: Tak uspesne som nabehol do noveho kernelu ale neni som az tak spokojny ako boli moje ocakavania..je to evidentne pomalsie..tak rozmyslam ze ostanem na tom starom.
« Poslední změna: 16. 02. 2009, 18:07:56 od Erich Stark »
" The box said that I needed to have Windows XP or better ... so I installed Debian ."
erino72@debian:~$ microsoft &> /dev/null

Offline Petr Slunský

  • Uživatel
  • ***
  • Příspěvků: 173
  • Karma: 5
  • Linux user #485524
    • Zobrazit profil
Re: Kompilace jádra ve zkratce
« Odpověď #26 kdy: 17. 02. 2009, 21:09:29 »
fakeroot make-kpkg --append-to-version "<-suffix>" --revision "<revision#>" --us --uc --initrd kernel_image kernel_headers

Nejsem v tom zatím nějak moc zběhlej a tento řádek mi není moc jasný, teda spíše "suffix". Díky za radu. :)
DOplním tedy v příkladu:

Kód: [Vybrat]
fakeroot make-kpkg --append-to-version -spox --revision 01 --us --uc --initrd kernel_image kernel_headers
pro bližší vysvětlení jednotlivých opšnů prosím koukni do
Kód: [Vybrat]
man make-kpkg

Online Roman Horník

  • Global Moderator
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 427
  • Karma: 7
  • गुरू
    • Zobrazit profil
    • Pár mých foteček
  • Jabber: roman.hornik@jabber.cz
Re: Kompilace jádra ve zkratce
« Odpověď #27 kdy: 28. 12. 2009, 15:17:50 »
Krásnej návod, ale nějak se mi to nepovedlo. Ze stejnýho serveru jsem stáhnul kernel 2.6.32 a na něj patch (bzcat /usr/src/patch-2.6.32.bz2 | patch -p1 -E -t), konfigurace se mi pravděpodobně povedla, ale během kompilace na mne vyskočila chyba, že ve dvou souborech jsou nějaký duplicitní definice, což se mi povedlo opravit, ale s další chybou si nevím rady:
Kód: [Vybrat]
  CC      kernel/trace/trace_output.o
kernel/trace/trace_output.c: In function ‘seq_print_userip_objs’:
kernel/trace/trace_output.c:416: error: ‘const struct userstack_entry’ has no member named ‘tgid’
kernel/trace/trace_output.c: In function ‘trace_print_lat_fmt’:
kernel/trace/trace_output.c:503: error: ‘struct trace_entry’ has no member named ‘lock_depth’
kernel/trace/trace_output.c:506: error: ‘struct trace_entry’ has no member named ‘lock_depth’
make[3]: *** [kernel/trace/trace_output.o] Error 1
make[2]: *** [kernel/trace] Error 2
make[1]: *** [kernel] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.32.666'
make: *** [debian/stamp/build/kernel] Error 2

trace_output.c, řádky 409-420 (jakási chyba na ř. 416):
Kód: [Vybrat]
if (trace_flags & TRACE_ITER_SYM_USEROBJ) {
struct task_struct *task;
/*
* we do the lookup on the thread group leader,
* since individual threads might have already quit!
*/
rcu_read_lock();
task = find_task_by_vpid(entry->tgid);
if (task)
mm = get_task_mm(task);
rcu_read_unlock();
}

Ten samej soubor, řádky 477-507 (jakási chyba na ř. 503, 506):
Kód: [Vybrat]
int trace_print_lat_fmt(struct trace_seq *s, struct trace_entry *entry)
{
int hardirq, softirq;
int ret;

hardirq = entry->flags & TRACE_FLAG_HARDIRQ;
softirq = entry->flags & TRACE_FLAG_SOFTIRQ;

if (!trace_seq_printf(s, "%c%c%c",
      (entry->flags & TRACE_FLAG_IRQS_OFF) ? 'd' :
(entry->flags & TRACE_FLAG_IRQS_NOSUPPORT) ?
  'X' : '.',
      (entry->flags & TRACE_FLAG_NEED_RESCHED) ?
'N' : '.',
      (hardirq && softirq) ? 'H' :
hardirq ? 'h' : softirq ? 's' : '.'))
return 0;

if (entry->preempt_count)
ret = trace_seq_printf(s, "%x", entry->preempt_count);
else
ret = trace_seq_putc(s, '.');

if (!ret)
return 0;

if (entry->lock_depth < 0)
return trace_seq_putc(s, '.');

return trace_seq_printf(s, "%d", entry->lock_depth);
}

Google nic relevantního neví, já se v céčku nevyznám, nesetkal se s tím někdo?
Verze Debianu, řazeno sestupně podle stability: Stable → Testing → Unstable → Ubuntu
Registered user #462370
I'm only wearing black until they make something darker

Online Roman Horník

  • Global Moderator
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 427
  • Karma: 7
  • गुरू
    • Zobrazit profil
    • Pár mých foteček
  • Jabber: roman.hornik@jabber.cz
Re: Kompilace jádra ve zkratce
« Odpověď #28 kdy: 28. 12. 2009, 18:58:40 »
Jo tak už to vypadá dobře... až na mrtě duplicitních definicí, ale s tím se po(p|s)eru ;)
Verze Debianu, řazeno sestupně podle stability: Stable → Testing → Unstable → Ubuntu
Registered user #462370
I'm only wearing black until they make something darker

Online Ota Trkola

  • Administrator
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 738
  • Karma: 19
    • Zobrazit profil
  • Jabber: otas.pe@jabbim.cz
Re: Kompilace jádra ve zkratce
« Odpověď #29 kdy: 30. 04. 2010, 16:52:07 »
Z kompilace kernelu jsem vyléčenej, několikrát jsem to zkoušel a ani jednou se mi to nepovedlo, jen jsem si nadělal chlívek, kterej sem musel odstraňovat.
Debian Sid 32bit Gnome
Debian Wheezy 32bit Gnome
Debian Squeeze 32bit Gnome

Návod na Businesscard install