BTRFS 루트 볼륨에 대한 사용자 정의 커널 요구 사항

BTRFS 루트 볼륨에 대한 사용자 정의 커널 요구 사항

Ubuntu 18.04에서 BTRFS를 지원하는 사용자 정의 커널을 컴파일하려고 합니다. 4.20.70-generic을 컴파일하고 설치하면 모든 것이 잘 작동하고 시스템이 문제 없이 부팅됩니다. 그런데 4.x 이후에는 컴파일되지 않는 사용자 정의 드라이버(나중에)도 필요하기 때문에 최신 버전을 사용할 수 없습니다.

4.17.4용 사용자 정의 커널 구성 파일(make oldconfig)을 사용하여 동일한 커널 소스를 컴파일하고 모든 질문에 답변하면 동일한 시스템이 BTRFS 루트 볼륨을 찾을 수 없습니다. 다음 오류가 표시됩니다.

Begin: Running /scripts/init-premount ... done
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done
Begin: Running /scripts/local-premount ... Btrfs loaded, crc32c=crc32c-generic
Scanning for Btrfs filesystems
done.
Begin: Waiting for root file system ... Begin: Running /scripts/local-block ... done
done.
Gave up waiting for root file system device
ALERT! UUID=a7ff8aa1-5518-4cd3-992f-eab4ed909443 does not exist. Dropping to a shell!

커널 명령줄은 두 커널 모두 동일하고 UUID는 유효하며 두 .config 파일(make menuconfig -> make install)에는 동일한 BTRFS 모듈이 포함되어 있습니다.

CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y

linux   /@/boot/vmlinuz-4.18.0-15-generic root=UUID=a7ff8aa1-5518-4cd3-992f-eab4ed909443 ro rootflags=subvol=@

linux   /@/boot/vmlinuz-4.18.0-15-mykernel root=UUID=a7ff8aa1-5518-4cd3-992f-eab4ed909443 ro rootflags=subvol=@

따라서 커널을 컴파일할 때 반드시 다른 것을 활성화해야 합니다. 내가 무엇을 놓치고 있나요?

답변1

몇 번의 시행착오 끝에 마침내 문제를 파악하고 교차 검증했습니다. 커널 누락:

CONFIG_FUSION: Fusion MPT 장치 지원

그런데 저는 VMware Fusion(MacOS)에서 설치를 실행하고 있는데 지난 10년 동안 관련이 없었습니다. 하지만 자체 커널을 구축할 때는 위의 작업을 수행해야 합니다. SCSI 지원도 필요합니다.

관련 정보