저는 커널 프로그래밍의 초보자입니다. 나는 뭔가 붙어있어서 도움이됩니다. 전에 비슷한 질문을 한 적이 있으면 사전에 사과합니다. 관련 게시물을 찾지 못했고이 분야의 나 자신 으로서는 이해할 수없는 단순한 웹에 대한 설명을 찾을 수있었습니다.Linux에서 ext2 파일 시스템 변형 사용
내 자신의 버전의 ext2로 실험하고 싶습니다. kernel.org에서 소스 파일을 얻었으며 적절한 수정을했습니다. 공상적인 것, 단지 내가 염두에 두었던 것을 확인하는 것.
이제는 제 리눅스 커널에 삽입하고 싶습니다 (우분투 2.6.31-14-generic-pae). 어떻게해야합니까?
필자가 생각한 (당연히 순진한) 초기 생각은 (필요한 경우 obj-m/obj-y가있는 여러 플래그를 수동으로 설정 한 후) 함께 제공되는 makefile을 사용하여 커널 모듈로 컴파일하는 것이 었습니다.
그러나 나는 분명히이 갈 수있는 방법이 아니다
ext2.h:181:1: warning: "ext2_find_first_zero_bit" redefined
balloc.c:574: error: implicit declaration of function dquot_free_block_nodirty
예를
를 들어 redifining 매크로 등의 기능 암시 적 선언에 대해 컴파일 시간 동안 점점 오류를 유지한다. 최악의 시나리오는 원래 커널 대신 내 수정 된 ext2 코드로 전체 커널을 다시 컴파일하는 것입니다. 그래서 내 자신의 ext2로 관련 라이브러리를 만들고 새 이미지에서 재부팅하십시오. 나는 이것이 최선의 방법이라고 믿기가 어렵다.새 파일 시스템을 커널 모듈로 삽입 할 수 있습니까?
Myabe 수정 한 ext2 코드를/usr/src에 넣고 어떻게 든 현재 ext2 코드가 들어있는 관련 라이브러리 만 컴파일해야합니까?
어쨌든, 내가해야 할 일에 대한 도움을 주시면 감사하겠습니다.
는
은 ext2를 모듈로 사용하는 현재 커널입니까? :/ –
아니요. lsmod는 ext2와 관련된 항목을 나열하지 않습니다. lib/lib에 libext2fs가 이미 있습니다. – user331398
: 커널에 이미 컴파일되어 있으면 모듈로로드 할 수 없습니다. 둘째 : 루트 파일 시스템에 대해 다른 FS가 필요합니다. 그렇지 않으면 부팅 할 수 없습니다 .. ext2fs를 지원하지 않습니다. 세 번째 : 컴파일 문제에 대해 잘 모릅니다. Google에 알려 봤습니까? –