![MSDOS가 아닌 디스크 레이블/파티션 테이블용 Linux 커널 모듈 작성](https://linux55.com/image/21071/MSDOS%EA%B0%80%20%EC%95%84%EB%8B%8C%20%EB%94%94%EC%8A%A4%ED%81%AC%20%EB%A0%88%EC%9D%B4%EB%B8%94%2F%ED%8C%8C%ED%8B%B0%EC%85%98%20%ED%85%8C%EC%9D%B4%EB%B8%94%EC%9A%A9%20Linux%20%EC%BB%A4%EB%84%90%20%EB%AA%A8%EB%93%88%20%EC%9E%91%EC%84%B1.png)
Linux는 다양한 디스크 레이블 세트 또는 파티션 테이블 형식을 지원합니다. 예를 들어, Sun 디스크 레이블과 MS-DOS 파티션 테이블은 (대부분) 동일한 정보(파티션)를 다른 형식으로 포함하는 디스크 레이블입니다. 제 말은 그런 뜻이 아니니 참고해주세요파일 시스템ext{2,3,4}와 유사하지만디스크 레이블msdos, GPT, Sun 디스크 레이블 등
현재 커널에 없는 디스크 레이블 형식에 대한 지원을 추가하고 싶지만 (찾아보기에서 fs/partitions/
) 이러한 형식은 커널 자체에 내장되어 있어 모듈로 컴파일할 수 없는 것처럼 보입니다.
다양한 디스크 레이블에 대한 지원을 추가하는 데 사용할 수 있는 커널 API가 있습니까?
으로 전환해야 합니까 losetup
?
답변1
kpartx
장치 매퍼 도구를 사용하여 기본 미디어에 장치를 생성하고 사용자 공간에서 파티션 파서를 구현하고 DM 맵을 생성하여 기본 시스템의 일부를 블록 장치로 커널에 노출할 수 있어야 합니다.
이렇게 하면 커널 작업의 모든 복잡성이 해소되고 원하는 경우 initramfs를 통한 부팅도 계속 지원됩니다.