LINUX.ORG.RU

Компиляция последнего ядра под ARM

 , , , ,


1

1

Компилирую так:

CROSS_COMPILE=arm-none-eabi- ARCH=arm make

При компиляции возникла ошибка:

In file included from drivers/staging/lustre/lustre/lov/../include/../../include/linux/libcfs/libcfs.h:163:0,
                 from drivers/staging/lustre/lustre/lov/../include/lustre_net.h:58,
                 from drivers/staging/lustre/lustre/lov/lov_pack.c:45:
drivers/staging/lustre/lustre/lov/lov_pack.c: In function 'lov_getstripe':
drivers/staging/lustre/lustre/lov/../include/../../include/linux/libcfs/libcfs_private.h:411:54: error: duplicate case value
 #define CLASSERT(cond) do {switch (42) {case (cond): case 0: break; } } while (0)
                                                      ^
drivers/staging/lustre/lustre/lov/lov_pack.c:463:2: note: in expansion of macro 'CLASSERT'
  CLASSERT(sizeof(lum) == sizeof(struct lov_mds_md_v3));
  ^
drivers/staging/lustre/lustre/lov/../include/../../include/linux/libcfs/libcfs_private.h:411:41: error: previously used here
 #define CLASSERT(cond) do {switch (42) {case (cond): case 0: break; } } while (0)
                                         ^
drivers/staging/lustre/lustre/lov/lov_pack.c:463:2: note: in expansion of macro 'CLASSERT'
  CLASSERT(sizeof(lum) == sizeof(struct lov_mds_md_v3));
  ^
scripts/Makefile.build:258: recipe for target 'drivers/staging/lustre/lustre/lov/lov_pack.o' failed
make[5]: *** [drivers/staging/lustre/lustre/lov/lov_pack.o] Error 1
scripts/Makefile.build:403: recipe for target 'drivers/staging/lustre/lustre/lov' failed
make[4]: *** [drivers/staging/lustre/lustre/lov] Error 2
scripts/Makefile.build:403: recipe for target 'drivers/staging/lustre/lustre' failed
make[3]: *** [drivers/staging/lustre/lustre] Error 2
scripts/Makefile.build:403: recipe for target 'drivers/staging/lustre' failed
make[2]: *** [drivers/staging/lustre] Error 2
scripts/Makefile.build:403: recipe for target 'drivers/staging' failed
make[1]: *** [drivers/staging] Error 2
Makefile:947: recipe for target 'drivers' failed
make: *** [drivers] Error 2

Правда, при компиляции ещё много варнингов вылазиет.

Как я понял, это баг ядра.

Забагованный участок я отключил

Компилятор для arm - из sid. sid стоит у меня в chroot, и там происходит сборка.

★★★★★

ваще-то для ембедда нужны ядро и тулчейн специальные патченые мамонтовых версий, а не из реп. что за железка?

anonymous
()

При сборке теперь ошибка:

LINK    vmlinux
  LD      vmlinux.o
  MODPOST vmlinux.o
  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  LD      init/built-in.o
arch/arm/mach-exynos/built-in.o: In function `exynos_pre_enter_aftr':
pm_domains.c:(.text+0xa2c): undefined reference to `cpu_boot_reg_base'
arch/arm/mach-exynos/built-in.o: In function `exynos_cpu1_powerdown':
pm_domains.c:(.text+0xa54): undefined reference to `exynos_cpu_power_down'
Makefile:933: recipe for target 'vmlinux' failed
make: *** [vmlinux] Error 1
root@ne-vlezay80:/usr/src/linux-4.0.4# 

ne-vlezay ★★★★★
() автор топика
Ответ на: комментарий от ne-vlezay

Если это единственные ошибки и учитывая, что lustre это вроде файловая система для мейнфреймов, то выключить её сборку в конфиге ядра.

xaizek ★★★★★
()
Ответ на: комментарий от xaizek

Если это единственные ошибки и учитывая, что lustre это вроде файловая система для мейнфреймов, то выключить её сборку в конфиге ядра.

+1, тоже не понимаю зачем чел пытает собрать это lustre, учитывая назначение этой штуки... хотя может ему оно как раз надо

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от ne-vlezay

Exynos это платформа от самсунга, сомневаюсь что она нужна для qemu-arm. Вангую кривой конфиг.

Попробуй сделать по мануалам которые гуглятся.

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.