저는 현재 임베디드 시스템 설계 작업을 하고 있으며 테스트 개발 시스템은 현재 KVM에서 실행되는 VM입니다. KVM이 디렉토리(예: chroot)를 마운트하고 이를 VM의 루트 파일 시스템으로 사용하도록 하는 것이 가능합니까?
현재 단일 스파스 파일에 루트 파일 시스템이 있고 루프를 통해 이를 디렉토리에 마운트할 수 있지만 변경을 수행하고 테스트할 때 로컬 시스템의 디렉토리 구조에 루트 파일 시스템을 두는 것이 더 쉬울 것입니다.
답변1
가상 머신에 IP 연결이 있는 경우 NFS를 통해 루트 파일 시스템을 마운트합니다. (커널이나 initrd/initramfs에 NFS 클라이언트 드라이버와 해당 종속성을 설치해야 합니다.)
호스트에 NFS 서버를 설치하고 디렉터리를 선언하여 내보냅니다./etc/exports
.
/path/to/root 10.0.9.0/24(ro,async,no_subtree_check)
손님에게 읽어보세요nfsroot.txt
간단히 말해서 커널 문서에서 커널 명령줄에는 다음과 같은 내용이 포함되어야 합니다.
root=/dev/nfs nfsroot=10.0.9.1:/path/to/root
가상 머신이 실행되는 동안 디렉터리 트리를 공유하는 것이 절대적인 요구 사항은 아니며 필요한 것은 가상 머신을 시작하기 전에 루트 파일 시스템을 재구축하는 편리한 방법뿐인 경우 작은 스크립트나 makefile을 작성하여 재구축하는 것만으로도 충분히 간단합니다. 루트 파일 시스템. 부팅 전 루트 파일 시스템 이미지. 이는 임베디드 개발에서 일반적입니다. 루트 파일 시스템에 대한 편리한 옵션은 다음과 같습니다.파일 시스템 초기화, 변형초기화 프로그램. 당신은 또한 볼 수 있습니다 busybox 링크로 initramfs 이미지를 생성하는 방법은 무엇입니까?.