저는 qemu용 Linux 커널을 구축하는 작업을 해왔습니다. 나는 튜토리얼을 따라왔다http://xecdesign.com/compiling-a-kernel/ 지금까지 init 프로세스가 시작될 때까지 커널을 부팅할 수 있었습니다. 그러나 다음 오류가 발생했습니다: "커널 패닉 - 비동기화: init 종료를 시도 중입니다!" 디버깅을 시도한 결과 kernel_init() 함수에서 /sbin/init를 실행하면 커널 패닉이 발생하는 것으로 나타났습니다.
...
Freeing init memory: 120K
Kernel panic - not syncing: Attempted to kill init!
Backtrace:
[<c0017348>] (dump_backtrace+0x0/0x10c) from [<c02fb118>] (dump_stack+0x18/0x1c)
r6:cf815d60 r5:c03f179c r4:c0409738
[<c02fb100>] (dump_stack+0x0/0x1c) from [<c02fb25c>] (panic+0x64/0x188)
[<c02fb1f8>] (panic+0x0/0x188) from [<c0029d24>] (do_exit+0x564/0x61c)
r3:cf815d60 r2:cf81be54 r1:cf81be54 r0:c0376584
r7:cf81a000
[<c00297c0>] (do_exit+0x0/0x61c) from [<c002a03c>] (do_group_exit+0x44/0xa4)
r7:cf81a000
[<c0029ff8>] (do_group_exit+0x0/0xa4) from [<c0033e34>] (get_signal_to_deliver+0x13c/0x478)
r4:cf81a000
[<c0033cf8>] (get_signal_to_deliver+0x0/0x478) from [<c0016620>] (do_signal+0x6c/0x530)
[<c00165b4>] (do_signal+0x0/0x530) from [<c0017070>] (do_notify_resume+0x50/0x5c)
[<c0017020>] (do_notify_resume+0x0/0x5c) from [<c0014438>] (work_pending+0x24/0x28)
r4:ffffffff
Rebooting in 1 seconds..
저는 buildroot를 사용하여 생성된 사용자 정의 루트 파일 시스템을 사용하고 있습니다. 동일한 rootfs는 원래 다운로드한 "kernel-qemu"에서도 잘 작동합니다.https://xecdesign.com/downloads/linux-qemu/kernel-qemu
누구든지 이 문제를 해결하도록 도와줄 수 있나요? 더 많은 정보가 필요하면 알려주시기 바랍니다.
답변1
나는 이것의 도움으로 해결책을 찾았습니다철사. 커널에서 CONFIG_AEABI를 활성화해야 합니다.
답변2
파일 시스템을 마운트하고 다음 명령을 입력합니다(라는 디렉터리에 마운트한다고 가정 fs
).
cd fs/etc
mv ld.so.preload ld.so
cd ../..
umount fs
그럼 시작해