Ядро Linux v2.6.34 Ошибка компиляции на Ubuntu 16.04

Я - новичок в разработке Ядра. Я пытаюсь установить Ядро Linux v2.6.34 на Ubuntu 16.04, потому что большинство книг объясняет эту версию вот почему, я думаю, что это - хорошее начало. Моя конечная цель должна понять и изменить управление памятью (особенно в последнем Ядре). Во время компиляции я встретился со следующими ошибками.

/home/irfan/kernel/linux-2.6.34/arch/x86/include/asm/percpu.h:204:33: note: in expansion of macro ‘percpu_to_op’
 #define percpu_write(var, val)  percpu_to_op("mov", var, val)
                                 ^
/home/irfan/kernel/linux-2.6.34/arch/x86/include/asm/irq_regs.h:26:2: note: in expansion of macro ‘percpu_write’
  percpu_write(irq_regs, new_regs);
  ^
arch/x86/kernel/quirks.c: In function ‘ich_force_enable_hpet’:
arch/x86/kernel/quirks.c:98:2: warning: parameter names (without types) in function declaration
  u32 uninitialized_var(rcba);
  ^
arch/x86/kernel/quirks.c:104:36: error: ‘rcba’ undeclared (first use in this function)
  pci_read_config_dword(dev, 0xF0, &rcba);
                                    ^
arch/x86/kernel/quirks.c:104:36: note: each undeclared identifier is reported only once for each function it appears in
arch/x86/kernel/quirks.c: In function ‘old_ich_force_hpet_resume’:
arch/x86/kernel/quirks.c:188:2: warning: parameter names (without types) in function declaration
  u32 uninitialized_var(gen_cntl);
  ^
arch/x86/kernel/quirks.c:193:43: error: ‘gen_cntl’ undeclared (first use in this function)
  pci_read_config_dword(cached_dev, 0xD0, &gen_cntl);
                                           ^
arch/x86/kernel/quirks.c: In function ‘old_ich_force_enable_hpet’:
arch/x86/kernel/quirks.c:210:2: warning: parameter names (without types) in function declaration
  u32 uninitialized_var(gen_cntl);
  ^
arch/x86/kernel/quirks.c:215:36: error: ‘gen_cntl’ undeclared (first use in this function)
  pci_read_config_dword(dev, 0xD0, &gen_cntl);
                                    ^
arch/x86/kernel/quirks.c: In function ‘vt8237_force_enable_hpet’:
arch/x86/kernel/quirks.c:301:2: warning: parameter names (without types) in function declaration
  u32 uninitialized_var(val);
  ^
arch/x86/kernel/quirks.c:311:36: error: ‘val’ undeclared (first use in this function)
  pci_read_config_dword(dev, 0x68, &val);
                                    ^
arch/x86/kernel/quirks.c: In function ‘nvidia_force_enable_hpet’:
arch/x86/kernel/quirks.c:426:2: warning: parameter names (without types) in function declaration
  u32 uninitialized_var(val);
  ^
arch/x86/kernel/quirks.c:437:36: error: ‘val’ undeclared (first use in this function)
  pci_read_config_dword(dev, 0x44, &val);
                                    ^
scripts/Makefile.build:230: recipe for target 'arch/x86/kernel/quirks.o' failed
make[2]: *** [arch/x86/kernel/quirks.o] Error 1
scripts/Makefile.build:366: recipe for target 'arch/x86/kernel' failed
make[1]: *** [arch/x86/kernel] Error 2
Makefile:884: recipe for target 'arch/x86' failed
make: *** [arch/x86] Error 2

Я попробовал, но я не сделал успеха, ни я нашел любой материал/справку об этой ошибке.

0
задан 28 April 2019 в 04:44

1 ответ

Книги, которые вы читаете, просто устарели. Ubuntu 16.04 поставляется с ядром 4.4. Все, что ниже этой версии, просто слишком старое, чтобы строить на современных дистрибутивах. Перейдите на https://www.kernel.org/ для получения долгосрочных версий ядер Linux и найдите книги, которые идут в ногу с современностью. Не говоря уже о том, что 16.04 тоже 3 года. Вы должны рассмотреть хотя бы текущую версию LTS.

0
ответ дан 28 April 2019 в 04:44

Другие вопросы по тегам:

Похожие вопросы: