外部USBスティック/ドライブから起動しますか?


44

外部のUSBスティック/ドライブから直接起動することはできないことを知っていますが、代わりにSDカードから起動する必要があり、外部デバイスが引き継ぐことができます。これを設定する最も簡単で好ましい方法は何ですか?したがって、SDカードから起動し、外部デバイスに引き継がせますか?

回答:


37

Piで既存のOSを実行している場合、まずUSBデバイスがサポートされているかどうかを知ることが役立ちます。通常のようにマウントすることでこれを行うことができます:

mount /dev/sda1 /mnt 

それが失敗した場合、USBデバイスをカーネルモジュールを有効にせずにルートパーティションとして使用することはできません。そのためには、独自のカーネルをコンパイルする必要があります。

それが成功した場合、Piが使用するブートパラメータを微調整することで正常に動作するはずです。

既存のイメージでcmdline.txt、ブートパーティションにあるを開き、次の行を入力します。

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 
root=/dev/sda1 rootfstype=ext4 rootwait text

その後、その画像をSDカードにフラッシュし、Piを起動するだけです。すべてがうまく/dev/sda1いけば、Piの起動時にUSBドライブの場所になります。したがって、その場所をルートとして使用しようとします。rootwaitUSBドライブが認識されるまでブートプロセスがハングするため、このパラメーターは重要です。これがないと、Piは場所が存在しないと文句を言うかもしれません。

ルートパーティションを既存のRaspberry PiイメージからUSBドライブにコピーし、それを使用して起動することをお勧めします。

さらに情報が必要な場合はお知らせください。


+1すばらしい回答。console=...まだそこにいるべきではないのですか?
アレックスチェンバレン

2
また、コマンドラインでUUIDを使用できますか?
アレックスチェンバレン

はい、ファイル全体を提供しましたが、UUIDの使用についてどこで話しているのですか?
Jivings

3
Jivingsに感謝します。公式のイメージをUSBスティックに「フラッシュ」し、FATパートからSDカードにコピーして、cmdline.txtを調整しました。私の場合、ルートパーティションは/ dev / sda2です。これは、/ dev / sda1がusbスティック上の(未使用の)ブートパーティションだからです。私の場合、rootwaitは必要ありませんでしたが、このパラメーターを知っておくと良いでしょう!
-stefan.at.wpf

@ stefan.at.wpf(およびJivings)/dev/sdx少なくともUUIDの代わりにUUIDを使用できます。変更/etc/fstab/しても問題ありませんx
アレックスチェンバレン

4

これを設定する最も簡単な方法は、BerryBootを使用することです。素敵なGUIインターフェースを介して、USBスティック(またはSDカード自体)にある1つまたは複数のイメージをそのままインストールすることができます。

設定する必要があるのは、〜70MBのインストールファイルをFAT32形式のSDカードにコピーし、デバイスに挿入して起動するだけです。さらに、イーサネットまたはwi-fi接続を介して自動的にダウンロードおよびインストールできる事前設定済みのイメージのリストもあります。

次に、使用可能なイメージからデフォルトでブートするOSを選択します。新しいイメージを追加したり、後日デフォルトを変更したりする場合は、ブートプロセス中にEnterキーを押すだけで再構成できます。


画像をSDカードに移動しますか?USBスティックにインストールしたいと思いましたか?
スハイプ

OPが述べたように、Raspberry PiのUSBスティックから直接起動することはできません-電源を入れたときに別のデバイスにプロセスを引き渡すことができるブートローダーがインストールされたSDカードが必要です。
ネイサン・ダン

2

わかりました、明確にするために-

@Jivingsの回答のさらに-

fstabでディスクを参照するには、いくつかの方法があります。/ dev / sdXXを使用すると、scsiディスクが表示される順序が保証されないため、常に安全とは限りません。

私が知らないのは、ブート構成が基本的なデバイスラベル以外を理解しているかどうかです。ただし、「root = / dev / sda1」は抽象化であるため、理論的にはroot = LABEL = TESTが機能する可能性があります。調査する必要があります。

はっきりしていない場合は謝罪します。Linuxを新しい人々に説明するために、ある程度のスキルを身につけました。


1
Jivings:あなたのコマンドラインの例のパラメーターのいくつかを私たちのnubiesに説明してもらえますか?ありがとう。
マイケルモリアーティ

彼はfstabに言及したことはありません。ターゲットデバイス/パーティション名はカーネルパラメーターです。特にinitrd / initramfsモジュールがある場合、UUIDのような他の命名規則が最新のカーネルで可能だと思います。
ジグガンジャー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.