임베디드 Linux - .mount 단위를 건너뛴 경우 파일 시스템 검사 건너뛰기

임베디드 Linux - .mount 단위를 건너뛴 경우 파일 시스템 검사 건너뛰기

저는 buildroot로 구축된 Linux 배포판을 실행하는 맞춤형 stm32 기반 보드를 개발 중입니다. 시스템은 SD 카드 또는 eMMC 플래시 메모리에서 부팅할 수 있습니다.

SystemD가 설치되었습니다. rootfs는 읽기 전용 모드로 마운트되어 애플리케이션이 eMMC의 읽기-쓰기 파티션에 데이터를 저장할 수 있습니다.

이 데이터 파티션은 eMMC 플래시에서 부팅할 때만 마운트됩니다. 이를 달성하기 위해 data.mount필요한 경우 사용할 조건을 추가할 수 있도록 .so 라는 시스템 파일을 만들었습니다 ConditionKernelCommandLine.

[Unit]
Description=Mount persistent data partition in operating mode
Before=local-fs.target
DefaultDependencies=no
ConditionKernelCommandLine=device=emmc

[Mount]
What=/dev/disk/by-label/data
Where=/data
Type=ext4
Options=defaults,noatime

보드가 SD 카드에서 부팅되면 데이터 파티션은 마운트되지 않지만 systemd-fsck로 계속 확인됩니다. systemd-fsck@dev-disk-by\x2dlabel-data.service암시적 서비스를 수행합니다.

문제는 eMMC에 파티션이 없을 때 systemd-fsck가 파티션이 나타날 때까지 기다린다는 것입니다. 90년대가 기다려진다.

예상한 조건으로 인해 fsck 종속성도 실행되지 않습니다.

커널 명령을 사용하면 systemd-fsck를 비활성화할 수 있지만 데이터 파티션이 존재하지 않는 경우에만 비활성화하고 싶습니다.

어떤 아이디어가 있나요?

관련 정보