2017-12-07 1 views
0

나는 안드로이드 커널 v3.10.108을 컴파일 중이다. 나는 defconfig에서 커널 모듈을 활성화 시켰고, 컴파일하려고 시도했을 때 나는이 오류를 보았다. 여기에 전체 로그가 hastebin입니다. 다음은 kernel source입니다. 나는 프로그래밍 언어 전문가가 아니며 도움이 필요하다. 또한 오류가 발생한 이유를 알려줍니다.오류 수정 방법 : '__kstrtab_sched_setscheduler_nocheck'의 재정의

답변

1

커널 소스는 실제로 here입니다. 이 오류는 둘 다 "kernel/sched/core.c"파일에 EXPORT(sched_setscheduler_nocheck); 행을 추가 한 두 개의 커밋이 있었기 때문에 발생했으며 재정의 오류가 발생했습니다. 커밋은 herehere입니다.

변경 사항을 커밋 한 사람이 모듈을 사용할 수 있도록 설정했는지 확인하지 않았기 때문에 오류가 발생했습니다.

오류를보고하기 위해 issue을 github에 올리는 것이 좋습니다.

"kernel/sched/core.c"에서 문제가있는 EXPORT(sched_setscheduler_nocheck); 줄 중 하나를 삭제하거나 로컬에서 두 개의 위탁 커밋 중 두 번째 커밋을 되돌려 로컬로 문제를 해결할 수 있습니다.

는 편집 :

나는 빌드 로그에이 오류가 있었다 몰랐는데. 다른 하나는 "fs/fs_struct.c"herehere에 적용된 두 개의 커밋 때문입니다.

편집 2

이후 링커 오류는 내장으로 구성된 다른 것들에 링크되고있다 (아마도 전혀 구성되지 않았거나) 모듈로 구성되고의 .config 커널의 몇 가지에 기인한다.

"sensors_ssc.c"링커 문제를 해결하려면 CONFIG_HW_RANDOM_MSM=y (=m 아님)을 구성하십시오.

구성 CONFIG_IPV6=y (안 =m)와 CONFIG_NF_DEFRAG_IPV6=y (안 =m)는 희망 "ipc_router_security.c"링커 문제를 해결합니다.

+0

커밋 (두 번째 커밋)을 되돌 렸습니다. 그러나 오류는 여전히 발생합니다. – Impulse

+0

죄송합니다. 다른 오류는 발견하지 못했습니다. "fs/fs_struct.c"에 적용된 두 개의 커밋과 비슷한 문제가 있습니다. 나는 대답을 편집 할 것이다. –

+0

고마워요. 나는 그 줄을 제거했고 이제는 고쳐졌다. 이제 모듈과 관련된 것으로 가정하는 또 다른 오류가 발생합니다. https://hastebin.com/nolufaraju.vbs (원할 경우이 지점까지 받아 들일 수있는 답변을 표시 할 수 있지만 더 도움이된다면 기쁘게 생각합니다.) EDIT : – Impulse