Tipy, triky, návody - pouze návody, nevkládat dotazy! > Správa, údržba a nastavení systému

Kompilace jádra ve zkratce

<< < (6/6)

Erich Stark:

--- Citace: Petr  15. 02. 2009, 22:26:37 ---
--- Citace: Spox  01. 02. 2009, 16:30:10 ---fakeroot make-kpkg --append-to-version "<-suffix>" --revision "<revision#>" --us --uc --initrd kernel_image kernel_headers

--- Konce citace ---

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. :)

--- Konce citace ---

ja som to zadal ako


--- Kód: ---sudo make-kpkg --initrd --stem linux --revision=1.0 kernel_image kernel_headers
--- Konec kódu ---

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.

Petr Slunský:

--- Citace: Petr  15. 02. 2009, 22:26:37 ---
--- Citace: Spox  01. 02. 2009, 16:30:10 ---fakeroot make-kpkg --append-to-version "<-suffix>" --revision "<revision#>" --us --uc --initrd kernel_image kernel_headers

--- Konce citace ---

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. :)

--- Konce citace ---
DOplním tedy v příkladu:


--- Kód: ---fakeroot make-kpkg --append-to-version -spox --revision 01 --us --uc --initrd kernel_image kernel_headers
--- Konec kódu ---

pro bližší vysvětlení jednotlivých opšnů prosím koukni do
--- Kód: ---man make-kpkg
--- Konec kódu ---

Roman Horník:
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: ---  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
--- Konec kódu ---

trace_output.c, řádky 409-420 (jakási chyba na ř. 416):

--- Kód: --- 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();
}
--- Konec kódu ---

Ten samej soubor, řádky 477-507 (jakási chyba na ř. 503, 506):

--- Kód: ---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);
}
--- Konec kódu ---

Google nic relevantního neví, já se v céčku nevyznám, nesetkal se s tím někdo?

Roman Horník:
Jo tak už to vypadá dobře... až na mrtě duplicitních definicí, ale s tím se po(p|s)eru ;)

Ota Trkola:
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.

Navigace

[0] Seznam témat

[*] Předchozí strana

Přejít na plnou verzi