현재 USB 드라이브에서 (uboot를 통해) 커널을 부팅하고 있는데 제대로 작동합니다.
내가 가진 문제는 SSD를 연결하면 SSD를 sda1로 사용하고 USB를 sda1로 사용하려면 SSD를 분리해야 하지만 두 SSD가 모두 연결되어 있어야 하고 USB가 연결되면 SSD가 필요하다는 것입니다. be for sda1이 존재하지 않습니다...
어떤 아이디어가 있나요?
답변1
첫 번째 질문은 왜 특별히 /dev/sda1에 의존하는지입니다. 커널의 "root=DEVNAME" 매개변수라고 가정하면 대부분의 배포판에서 이 문제를 해결하는 방법은 init 스크립트가 사용 가능한 모든 장치를 살펴보고 지능적으로 하나를 선택하는 initrd를 사용하는 것입니다. 이것이 많은 배포판에서 "root=LABEL=MY_ROOT"와 같은 말을 허용하는 이유입니다. 커널은 이를 처리하지 않고 init 스크립트는 처리합니다. init 스크립트는 "blkid"와 같은 도구를 실행하여 UUID 또는 파일 시스템 레이블로 블록 장치를 식별할 수 있습니다.
불행하게도 자신만의 initrd를 구축하는 것은 긴 학습 과정이지만 필요한 것을 얻는 데 도움이 되는 많은 가이드가 있습니다.
이제 문제가 mount 명령에 있는 경우 mount는 이미 UUID 또는 LABEL(참고자료 참조 man mount
)을 통한 마운트를 지원하므로 이는 매우 간단한 변경입니다.