Yocto 기반 임베디드 Linux의 부팅 시간을 줄이려고 합니다.
내가 관찰한 한 가지는 systemd가 커널 매개변수로 전달되는 루트 파티션을 마운트하고 있다는 것입니다. 루트 파티션은 이미 커널에 의해 마운트되어 있으므로 이에 관해 시간을 좀 벌고 싶습니다. 디버깅을 위해 /etc/fstab을 주석 처리했지만 여전히 나왔습니다.
장치를 감지할 때 udev 규칙을 통과한다고 생각합니다. 지금 작업 중입니다.
systemd에서 루트 파티션 재설치를 비활성화하는 방법을 아는 사람이 있습니까?
답변1
많은 Linux 시스템이 사용합니다.초기화 프로그램초기 사용자 공간으로 확보/설치합니다. 일반적으로 암호화, LVM 및 네트워크 파일 시스템은 사소한 것이 아닙니다. 루트 전환이 잘 작동합니다. systemd도 참조하세요.부팅 그림이러한 초기 목표가 어떻게 진행되는지. 커널이 initrd가 아닌 시스템을 요구하지 않는지 확인하고(어떤 스토리지가 있습니까?) 부트로더에서 initrd를 주석 처리하여 initrd가 아닌 시스템을 부팅해 볼 수 있지만 이는 까다로워 보입니다.
실제로 부팅 시간을 잡아먹는 것이 무엇인지 찾아보세요 systemd-analyze
. 인수가 없으면 초기 커널, initrd 및 사용자 시간의 소계를 표시합니다. systemd-analyze plot >bootup.svg
동시에 실행되는 항목을 보다 정확하게 보여주는 차트를 생성합니다. 이 단계는 가설을 증명하기 위해 데이터를 수집하는 단계입니다. 어떤 유닛이 실제로 핵심 체인에 있고 어떻게 더 빠르게 만들 수 있는지에 대한 추가 분석이 필요합니다.