답변:
거의 5 년 후 필자가 원래이 질문을 한 후
Raspberry Pi는 공식적으로 USB 대용량 저장 장치에서의 부팅을 지원합니다 .
그러나 이것은 Raspberry Pi 3 에서만 지원됩니다 . 이유는 다음과 같습니다.
MSD를 사용하여 Pi 1 또는 Pi 2를 부팅 할 수 있습니까?
불행히도. 부팅 코드는 BCM2837 장치에만 저장되므로 Pi 1, Pi 2 및 Pi Zero에는 모두 SD 카드가 필요합니다.
진정한 의미에서 USB에서 RPi를 직접 부팅 할 수는 없습니다. 그러나 누군가가 / boot 및 일종의 부팅 관리자를 포함하는 미니 디스트로를 만드는 것을 막을 수는 없습니다 . 그러면 USB 또는 PXE 스타일 환경에서 부팅을 구현할 수 있습니다. 이것은 작은 SD 카드에 맞을 수 있습니다-이제 동전으로 64MB 카드를 사용할 수 있습니다. 누군가가 이것을 위해 배포판을 굴릴 것으로 기대하지만 아직까지는 찾지 못했습니다.
한편, 더 빠른 부팅 시간을 얻기 위해 자신의 루트 파티션을 하드 디스크로 옮길 수 있지만 USB 저장 장치를 지원하는 커널을 가져와야하기 때문에 다소 복잡합니다. 이 작업을 수행하는 방법에 대한 유용한 지침은 http://mitchtech.net/raspberry-pi-root-fs-on-usb-drive/를 참조하십시오.
로부터 라즈베리 파이 자주 묻는 질문 :
SD로 부팅해야하지만 초기 부팅 후 USB HD가 "인계"할 수 있습니다. SD 카드가 없으면 부팅 할 수 없습니다.
실제로 커널이 상주하는 SD MS-DOS 파티션 (/ boot)만으로도 살 수 있다면 / root와 그 밖의 모든 것을 외부 장치에 둘 수 있습니다. USB 메모리 카드 또는 물리적 하드 드라이브는 보조 드라이브로 좋습니다. 좋은 점은 잘못된 위치에 'dd'하지 않는 한 비파괴적인 절차입니다. 한 번의 편집으로 원본으로 돌아가고,
이 구성을 설정하는 것은 매우 쉽습니다. 평소대로 설치를 구성하고 EXT4 파티션을 외장 드라이브로 이동 / 복사합니다.
fdisk
선택한 보조 드라이브를 ' '파티션을 사용 하여 현재 mmcblk0p2 (또는 mmcblk0p5)와 같거나 큰 크기의 파티션을 만듭니다. 새 구성을 저장하십시오.
이 샘플에서 '/ dev / sda5'파티션 이름을 찾으십시오. 그러나이 파티션은 구성에 따라 다릅니다.
실행중인 파티션을 복사합니다 (참고 : 실행중인 파티션을 복사하는 것이 좋지 않습니다. 일부 파일은 '안정적'이거나 열린 상태이지만 제대로 작동합니다).
dd if=/dev/mmcblk0p2 of=/dev/sda5 bs=10M
이제 /boot/cmdline.txt 파일에서 다음 행을 편집하고 'root'위치를 수정하십시오.
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
이 새로운 라인으로.
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/sda5 rootfstype=ext4 elevator=deadline rootwait
부팅 파티션은 MS-DOS이므로 수정해야 할 경우 SD를 다른 곳에 마운트하고 편집 할 수 있습니다. 부팅에 실패하면 로더가 사용 가능한 장착 지점을 (HDMI) 화면에 표시합니다.
이 설정은 마운트 순서에 따라 다릅니다. 장치가 다른 슬롯에 장착 된 경우 파티션 번호가 변경 될 수 있습니다. 다음과 같이이 위치를 독립적으로 만들 수 있습니다.
장치 'UUID'를 찾으십시오
blkid /dev/sda5
/dev/sda5: UUID="13d368bf-6dbf-4751-8ba1-88bed06bef77" TYPE="ext4"
또는 새로운 것을 창조하십시오
tune2fs -U random /dev/sda5
새로 할당 된 이름을 얻습니다
blkid /dev/sda5
/dev/sda5: UUID="25b6aa72-ddc4-485e-8044-900ac24d662b" TYPE="ext4"
그런 다음 루트 위치를 다음과 같이 변경하여 이전에 수정 된 cmdline.txt를 편집하십시오.
root=UUID=25b6aa72-ddc4-485e-8044-900ac24d662b
편집 fstab에를 새 구성을 부팅 한 후, 이전 / mmcblk0p2 제거 참고 :이 파일이 '새로운'/ 루트 장치에있을 것입니다
교체는 / dev / mmcblk0p % (%는 리눅스 파티션)
nano /etc/fstab
UUID=25b6aa72-ddc4-485e-8044-900ac24d662b ...
라즈 비안에서 root
플래그를 변경 하면 해당 파티션의 번호 /boot/cmdline.txt
가 root=/dev/sdaX
어디에 X
있습니다.
USB 등에서 라즈 비안을 얻는 방법에 대한 자세한 내용은 http://blog.krastanov.org/2014/01/30/booting-pi-reliably-from-usb/ 에서 확인할 수 있습니다.
대신 100 %의 창을 창으로 사용했습니다.
나는 (무료) 'MiniTool 파티션 관리자'를 사용했고 부팅을 가장 작은 SD 카드로 옮겼으며 파티션 관리자를 사용하여 자동으로 확장 할 수 있습니다. 를 열고로 cmdline.txt
변경하십시오 root=/dev/sda5
.
동일한 파티션 관리자를 사용하여 ext4를 휴대용 1TB로 복사 할 수 있습니다 (FYI는 드라이브에서 모든 파티션을 먼저 제거하여 전송하기 전에 파티션되지 않은 공간을 갖도록합니다). Vala-부팅 나는 표준 HDD로 대부분의 SD 카드에 비해 R / W 속도가 매우 빠르더라도 액세스 시간이 약간 부족하다는 것을 알았습니다.
내가 지금 겪고있는 문제는 원래 32GB (원래 SD 카드)에서 ext4 (루트) 파티션을 확장하는 것입니다. 따라서 현재 1TB 중 32GB 만 있습니다. 흠. 나는 터미널과 그 명령을 가진 초보자 일 뿐이므로 리눅스에서 파티셔닝하는 것은 약간 혼란 스럽지만이 가이드는 매우 잘 도움이되었습니다.