소스에서 커널을 컴파일하려고 할 때 오류가 발생합니다. 주변을 둘러보았으나 현재 발생한 오류를 구체적으로 처리하는 항목을 찾지 못했습니다.
가이드를 사용하고 있어요라즈베리 파이에서웹사이트를 방문하여 프로세스를 완료했고 저는 지침을 따랐습니다. 저는 이것을 Raspbian Jessie를 실행하는 Raspberry Pi 2 보드에서 Raspberry Pi 모델 B(1세대)용 커널로 컴파일하고 있습니다. 이러한 오류는 커널이 원래 커널용인지 Raspberry Pi 2용인지에 관계없이 발생합니다. 내가 하고 있는 일과 보고 있는 일은 다음과 같습니다.
pi@rpi4 ~ $ git clone --depth=1 https://github.com/raspberrypi/linux
Cloning into 'linux'...
remote: Counting objects: 52876, done.
remote: Compressing objects: 100% (50355/50355), done.
remote: Total 52876 (delta 4013), reused 17588 (delta 1852), pack-reused 0
Receiving objects: 100% (52876/52876), 142.61 MiB | 3.87 MiB/s, done.
Resolving deltas: 100% (4013/4013), done.
Checking connectivity... done.
Checking out files: 100% (49946/49946), done.
pi@rpi4 ~ $ cd linux
pi@rpi4 ~/linux $ KERNEL=kernel
pi@rpi4 ~/linux $ make bcmrpi_defconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/zconf.lex.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
#
# configuration written to .config
#
pi@rpi4 ~/linux $ time make -j5 zImage modules dtbs
scripts/kconfig/conf --silentoldconfig Kconfig
CHK include/config/kernel.release
WRAP arch/arm/include/generated/asm/bitsperlong.h
WRAP arch/arm/include/generated/asm/cputime.h
....................
CC mm/frontswap.o
In file included from include/linux/sched.h:27:0,
from kernel/rcu/tree.c:37:
include/linux/mm_types.h:209:8: internal compiler error: Segmentation fault
struct page_frag {
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.9/README.Bugs> for instructions.
CC [M] fs/9p/v9fs.o
CC [M] crypto/ctr.o
CC [M] fs/9p/fid.o
CC mm/dmapool.o
CC [M] crypto/gcm.o
CC [M] fs/9p/xattr.o
CC [M] fs/9p/xattr_user.o
CC mm/slub.o
CC [M] fs/9p/xattr_trusted.o
CC [M] fs/9p/acl.o
CC [M] crypto/ccm.o
LD [M] fs/9p/9p.o
CC fs/autofs4/init.o
The bug is not reproducible, so it is likely a hardware or OS problem.
scripts/Makefile.build:258: recipe for target 'kernel/rcu/tree.o' failed
make[2]: *** [kernel/rcu/tree.o] Error 1
scripts/Makefile.build:403: recipe for target 'kernel/rcu' failed
make[1]: *** [kernel/rcu] Error 2
Makefile:947: recipe for target 'kernel' failed
make: *** [kernel] Error 2
make: *** Waiting for unfinished jobs....
LD fs/btrfs/built-in.o
CC [M] fs/btrfs/super.o
CC fs/autofs4/inode.o
....................
CC fs/fscache/netfs.o
CC fs/f2fs/segment.o
CC [M] fs/fuse/dir.o
In file included from include/linux/mm.h:921:0,
from include/linux/pagemap.h:7,
from include/linux/fscache.h:23,
from include/linux/fscache-cache.h:21,
from fs/fscache/internal.h:31,
from fs/fscache/netfs.c:15:
include/linux/vmstat.h: In function ‘count_vm_event’:
include/linux/vmstat.h:41:2: internal compiler error: Segmentation fault
this_cpu_inc(vm_event_states.event[item]);
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.9/README.Bugs> for instructions.
CC [M] fs/btrfs/raid56.o
The bug is not reproducible, so it is likely a hardware or OS problem.
scripts/Makefile.build:258: recipe for target 'fs/fscache/netfs.o' failed
make[2]: *** [fs/fscache/netfs.o] Error 1
scripts/Makefile.build:403: recipe for target 'fs/fscache' failed
make[1]: *** [fs/fscache] Error 2
make[1]: *** Waiting for unfinished jobs....
CC [M] fs/btrfs/uuid-tree.o
CC [M] fs/fuse/file.o
CC [M] fs/fuse/inode.o
CC fs/ext4/extents.o
CC [M] fs/btrfs/props.o
CC fs/f2fs/recovery.o
CC [M] fs/fuse/control.o
cc1: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.9/README.Bugs> for instructions.
CC fs/f2fs/debug.o
CC [M] fs/btrfs/hash.o
CC [M] fs/btrfs/acl.o
CC [M] fs/fuse/cuse.o
The bug is not reproducible, so it is likely a hardware or OS problem.
scripts/Makefile.build:258: recipe for target 'fs/f2fs/recovery.o' failed
make[2]: *** [fs/f2fs/recovery.o] Error 1
make[2]: *** Waiting for unfinished jobs....
LD [M] fs/fuse/fuse.o
CC fs/ext4/ext4_jbd2.o
scripts/Makefile.build:403: recipe for target 'fs/f2fs' failed
make[1]: *** [fs/f2fs] Error 2
CC fs/ext4/migrate.o
....................
LD fs/ext4/built-in.o
Makefile:947: recipe for target 'fs' failed
make: *** [fs] Error 2
real 11m41.081s
user 43m2.340s
sys 2m1.510s
pi@rpi4 ~/linux $ ccache -s
cache directory /home/pi/.ccache
cache hit (direct) 0
cache hit (preprocessed) 0
cache miss 0
files in cache 0
cache size 0 Kbytes
max cache size 1.0 Gbytes
보시다시피 파일 시스템 구성 요소와 모듈을 빌드하는 동안 컴파일 프로세스가 실패합니다. Ccache도 파일을 선택하지 않는 것 같습니다. 하드웨어 문제로 인해 내부 컴파일러 오류가 있다고 표시되지만 그게 무엇인지는 잘 모르겠습니다.
문제는 크로스 컴파일 툴체인이 설치된 Ubuntu를 실행하는 x86-64 시스템인 랩톱에서 커널과 모듈도 컴파일하고 있다는 것입니다. 랩탑은 커널 컴파일 성공률이 훨씬 더 높은 것 같습니다. 작업을 완료하는 데 이를 사용하겠지만 저는 Raspberry Pi 자체에서 컴파일할 때 더 의미가 있는 프로젝트를 진행하고 있습니다. 나는 해결책을 찾고 있었지만 찾을 수 없는 것 같았고 그것은 (나에게) 다소 중요한 프로젝트를 보류하고 있습니다.
답변1
불행하게도 이는 시스템 전반에 걸쳐 발생하는 문제인 것 같습니다. OS를 다시 설치하면 문제가 해결되었고 NOOBS로 전환하거나 OS를 직접 이미징했습니다. 가장 우아한 솔루션은 아니지만 거기에 있습니다.