debugfs를 통해 ext3/ext4 파일 시스템을 확장하는 방법은 무엇입니까?

debugfs를 통해 ext3/ext4 파일 시스템을 확장하는 방법은 무엇입니까?

현재 상황은 펌웨어에서 사용하는 ext4 파일 시스템의 기본 크기를 확장하고 싶은 것입니다.

문제는 resize2fs일부 파일 시스템 기능을 지우고 로그를 장치 파티션의 시작 부분으로 재배치하는 것과 같은 추가 작업을 수행하는 것입니다. 따라서 장치가 설치되기 전에 계속 충돌이 발생하고 부팅하기 전에 커널 콘솔에 액세스하는 방법을 모릅니다 adb. console=장치 디스플레이에 콘솔을 인쇄하기 위해 이에 액세스하거나 커널 매개변수를 조정하는 방법을 모르겠습니다 .

확장이므로 일반적으로 이전할 필요가 없습니다. 그렇다면 이를 사용 debugfs하여 사용 가능한 inode의 크기와 (필요한 경우) 수를 변경하려면 어떻게 해야 합니까 ? 즉, 어떤 필드를 설정해야 set_super_value하고 어떤 숫자를 선택해야 합니까?

더 중요한 것은,그룹 설명자 체크섬을 설정하는 방법?

답변1

파일 시스템이 매우 작지 않은 한(< 128MB) 파일 시스템 크기를 조정하기 위해 슈퍼 블록의 정수를 변경할 수는 없습니다. 파일 시스템을 유용하게 만들기 위해 업데이트해야 하는 다른 메타데이터 구조가 있습니다. 즉, 당신은가능한debugfs "set_super_value"(ssv) 명령을 사용하여 수퍼블록의 s_blocks_count 필드를 업데이트한 다음 e2fsck를 실행하여 누락된 메타데이터 자체를 재구성할 수 있습니다.

이를 수행하는 능력은 파일 시스템의 크기를 얼마나 잘 조정했는지, 그리고 파일 시스템을 포맷할 때 "resize_inode" 기능이 활성화되었는지 여부에 따라 크게 달라집니다. 그렇지 않으면 e2fsck에 의해 재구성된 누락된 메타데이터가 다른 중요한 파일 시스템 콘텐츠와 겹쳐서 다른 문제를 일으킬 수 있습니다.

이것이 작동하는지 확인하는 가장 좋은 방법은 전체 파일 시스템의 이미지를 만들고 테스트하는 것입니다.

관련 정보