실제로 USB 드라이브를 사용하지 않고 "라이브 USB 드라이브" 이미지 구축

실제로 USB 드라이브를 사용하지 않고 "라이브 USB 드라이브" 이미지 구축

우리는 임베디드 제품에 Linux를 설치하기 위해 사용자 정의 설치 스틱을 구축하려고 합니다. 우리는 매번 처음부터 이를 구축하고 싶습니다. 즉, (로컬) 저장소에서 RPM을 가져옵니다.

지금까지 사용한 모든 메커니즘에서는 빌드 시 빌드 시스템에 물리적 USB 스틱이 있어야 합니다. 이것은 여러 가지 이유로 고통스럽습니다.

우리가 정말로 원하는 것은 나중에 물리적 장치(예: la)에 복사할 수 있는 이미지(예: 파일)를 만드는 것입니다.DDUSB 메모리 스틱에 저장).

가상 머신(Virtual Box)을 사용하여 치팅을 시도했지만 가상 USB 스틱을 거기에 표시하는 방법을 알아내지 못했습니다.

막대기 없이 막대기의 이미지를 만드는 좋은 방법은 무엇입니까? "마무리 손질"로서 일부 마법 영역을 간지럽혀야 하는 것은 허용됩니다. 이는 스틱을 채우는 동안 빠르게 수행할 수 있는 작업입니다. 그러나 전체 시스템 구축을 기다리는 것은 우리 시나리오에 비해 너무 깁니다.

[중요한 경우 FC 7을 기본으로 사용합니다. 이는 안정적이며 더 중요한 것은 드라이버가 모두 해당 커널과 작동한다는 것입니다.]

답변1

가장 쉬운 방법은 루프백 장치를 사용하는 것입니다. USB 스틱과 동일한 크기의 파일을 만들고 이를 사용하여 losetup루프 장치에 매핑합니다. 루프 장치는 블록 장치이므로 USB 스틱과 똑같이 작동합니다.

유일한 예외는 파티셔닝입니다. 그러나 -ooffset() 매개변수를 사용하여 파티션을 다른 루프 장치에 매핑하기 위해 더 많은 lossup 호출을 사용하여 이 문제를 해결할 수 있습니다 . 전체 장치를 loop0에 매핑하고, 첫 번째 파티션을 loop1에, 두 번째 파티션을 loop2 등으로 매핑하면 모든 것이 예상대로 거의 작동합니다. 언제든지 loop0을 루프에 심볼릭 링크한 다음 분할 가능한 루프백 장치와 정확히 동일한 이름을 가질 수 있습니다(파티션 가능한 루프백 장치에 대한 패치가 있으므로 그렇게 할 필요조차 없을 수도 있습니다).

관련 정보