학교 프로젝트로 최신 안정적인 Linux 커널에 시스템 호출을 추가해야 합니다. 나는 이것을 하고 make defconfig
커널을 사용하고 다시 컴파일했습니다 make
.
커널을 부팅하기 위해 여러 튜토리얼을 거친 후(아무도 작동하지 않음) 마침내 뭔가를 발견했습니다.여기(커널의 x86_64 버전에 맞게 조정하세요). 이 튜토리얼에서는 mkinitramfs -o file
.
문제는 이 새로운 커널에서 시스템 호출을 테스트해야 하는데 부팅하자마자 프롬프트로 리디렉션되고 (initramfs)
패키지를 설치하는 방법이나 올바른 솔루션인지 알 수 없다는 것입니다.
내 질문 -> 간단한 C 테스트 프로그램을 컴파일하고 실행하고 시스템 호출이 작동하는지 확인하기 위해 이 가상 머신에서 gcc를 어떻게 얻습니까?
답변1
글쎄요, 누군가 이 작업을 수행하는 방법을 궁금해한다면 이것이 제가 한 방법입니다. -> 내 컴퓨터에서 컴파일하고 내 자신의 initramfs를 만들었습니다(지침에 따라).여기(gzip을 사용하지 마십시오. 그렇지 않으면 qemu는 어떻게든 읽지 않습니다.) 실행 파일을 cpio 앞에 initramfs에 넣은 다음 qemu와 실행 파일을 시작하면 짜잔.
나는 이것이 이상적인 솔루션이 아니라는 것을 알고 있습니다. 테스트중인 커널과 내 컴퓨터가 모두 Linux x86_64이기 때문에 작동하지만 선택의 여지가 없습니다.
(gcc를 initramfs에 전달하려면 이렇게 하지 마세요. 컴파일할 때 세그폴트가 발생합니다.)