ディスプレイなしでNOOBSからRaspbianをインストールする


88

NOOBSからRaspbianをインストールしようとしていますが、ラップトップの画面/キーボード以外に使用できる画面/キーボードはありません。Pi用のラップトップ画面/キーボードの使用に関する十分な情報は見つかりましたが、OSをインストールする必要があります。しかし、SDカードにはNOOBSが含まれており、NOOBSを使用してRaspbianをインストールするため、OSはインストールされていません。

ノートパソコンの画面とキーボードだけでそれを行うにはどうすればよいですか?私はラップトップでWindows 7を実行しています。


13
なぜわざわざ。画面やキーボードがない場合、NOOBSで何をする予定ですか?Raspbianをダウンロードして、SDカードにインストールするだけです。NOOBSは単なるスペースの無駄です。
ミリウェイズ

回答:


117

ssh有効になっていないため、これは機能しません。

ノートパソコンの画面とキーボードのみを使用して(インストールの前後に)、NOOBSを使用してSSHを使用したヘッドレス操作のインストールと構成が可能です(「サイレントインストール」と呼びます)。別の画面 やキーボード/マウス必要ありませ。ただし、ラップトップ(内蔵または外部USB)にSDカードリーダーが必要です。

Raspberry Pi側で必要なのは、 イーサネット接続(ホストシステムからSSHで接続する)だけです。または、特別なハードウェア(USB-シリアルアダプター)を使用して、Raspberry PiでいくつかのGPIOピンを使用することもできます。[3]

これは、いくつかのフォルダを削除し、SDカード上の2つのファイルを編集し、いくつかのシンボリックリンクを設定することで実行できます。 /etc/init.dすることで実行できます(NOOBSを含むSDカードしかない場合は、SDカードコンテンツのバックアップコピーを最初に作成します)。セキュリティを意識している人は、インストールの前にデフォルトのパスワードを変更したいかもしれません。

前提条件:

  • SSHクライアントを実行し、Raspberry PiのSDカード(ext4)上のファイルシステムを読み書きできるホストコンピューター。オペレーティングシステムは、Windows、Mac、またはLinuxです。これは通常Windowsを実行しているコンピューターですが、DVDドライブを備えているため、LiveCDを使用してUbuntuを試用モードで起動できます。

  • Raspberry Piへのイーサネット接続であり、ホストコンピューターTCP / IPからアクセス可能(ホストコンピューター自体がイーサネットまたはワイヤレス接続を使用できます)。

  • Unixの行末文字を正しく処理できるホストシステム上のテキストエディタ。たとえば 、私がテストに使用したWindows上のUltraEdit。 Windows上のNotepad ++Vimも問題ないはずです。

  • SDカードリーダー(プロセス中にSDカードに重要な変更を加えるため、プレインストールとポストインストールの両方)。

方法

プレインストール

たとえば、SDカードが挿入されたRaspberry Piに電力が供給されたときにRaspbianを自動的にインストールするには(ホストシステム、Windows、Mac、またはLinuxで)次の手順を実行します。

  1. 4 GB以上の十分に大きいSDカードにNOOBSをダウンロードして準備しますNOOBS 1.3.10、2014-09-09リリース、704 MBのダウンロードです)。

    これには、オプション「FORMAT SIZE ADJUSTMENT」を「ON」に設定したSDFormatterを使用して、SDカード全体を1つの大きなFAT32形式のパーティションとしてフォーマットすることが含まれます。詳細については、リンク先のページをご覧ください。

  2. os初心者でSDカード上のフォルダを除くすべてのフォルダを削除Raspbian(フォルダArchRaspBMCPidoraOpenELECRISC_OS、およびdata_partition初心者のための1.3.7。そして唯一のData_Partition初心者1.3.10用)。

  3. ファイルを編集し\os\Raspbian\flavours.jsonて、目的のバージョンのRaspbianである「Raspbian」のみを含むようにします(「Raspbian-Boot to Scratch」ではありません)。

    前:

       {
         "flavours": [
           {
             "name": "Raspbian - Boot to Scratch",
             "description": "A version of Raspbian that boots straight into Scratch"
           },
           {
             "name": "Raspbian",
             "description": "A Debian wheezy port, optimised for the Raspberry Pi"
           }
         ]
       }
    

    後:

       {
         "flavours": [
           {
             "name": "Raspbian",
             "description": "A Debian wheezy port, optimised for the Raspberry Pi"
           }
         ]
       }
    

    テキストエディタが生成する可能性のある余分なファイル(.bakファイルなど)を削除します。

  4. 引数リストに追加するファイルrecovery.cmdline(SDカードrootフォルダー内)を編集しますsilentinstall

    以前(NOOBSバージョンによって異なる場合があります):

     runinstaller quiet vt.cur_default=1 coherent_pool=6M elevator=deadline
    

    後(NOOBSバージョンによって異なる場合があります):

     runinstaller quiet vt.cur_default=1 coherent_pool=6M elevator=deadline silentinstall
    

    テキストエディタが生成する可能性のある余分なファイル(.bakファイルなど)を削除します。

  5. オプション:

    テレビをビデオ出力に接続するオプションを開いたままにするには、display=3(PALの場合は3、NTSCの場合は4)も追加します。

     runinstaller quiet vt.cur_default=1 coherent_pool=6M elevator=deadline silentinstall display=3
    
  6. オプション:デフォルトのユーザー名とパスワードを編集して変更します\os\Raspbian\os.json

    前:

       {
         "name": "Raspbian",
         "url": "http://www.raspbian.org/",
         "version": "wheezy",
         "release_date": "2014-01-07",
         "kernel": "3.10",
         "description": "A community-created port of Debian wheezy, optimised for the Raspberry Pi",
         "username": "pi",
         "password": "raspberry"
       }
    

    後:

       {
         "name": "Raspbian",
         "url": "http://www.raspbian.org/",
         "version": "wheezy",
         "release_date": "2014-01-07",
         "kernel": "3.10",
         "description": "A community-created port of Debian wheezy, optimised for the Raspberry Pi",
         "username": "pi",
         "password": "DerSkalMangeFlereJobsTilI2014tOverHeleVerden11111111111111111111df11111111111111111111"
       }
    

    テキストエディタが生成する可能性のある余分なファイル(.bakファイルなど)を削除します。

  7. SDカードをRaspberry Piに入れ、SSHクライアントを備えたホストシステムが認識できるようにイーサネットケーブルで接続し、Raspberry PiでDHCPを使用できるようにします(たとえば、ほとんどのNATルーターにはDHCPサーバーが組み込まれています)に)。おそらく、パスワードが変更されるまでシステムをインターネットから切断してください。

  8. Raspberry Piの電源を入れて、インストールを開始します。待って!これには30分以上かかる場合があります。確かに、数時間そのままにしておきます。NOOBS 1.3.10の使用時(電源投入から最初のpingが成功するまで)、19分20秒のインストール時間が測定されました。消費される電流は400〜480 mAで、最初のpingが成功すると370 mAに低下しました。

ポストインストール

  1. Raspberry PiのIPアドレス(DHCPによって割り当てられた)を何らかの方法で見つけます。たとえば、NATルーターのDHCPサーバーが使用するIPアドレス範囲から推測し、それらのアドレスにpingを実行します(私の場合は192.168.0.100-192.168.0.255を使用するように設定され、多くの場合192.168.0.100または192.168.0.101が割り当てられます) 。

    Wiresharkは、特に多数のデバイスがある環境にある場合、この目的にも使用できます。Raspberry PiのMACアドレスがわかっている場合、これは非常に簡単で、以下の手順4を使用して一時的に取得できます。

    以下の手順4で固定IPアドレスが設定されている場合、この手順は不要です。

  2. ホストからpingを実行して、接続があるかどうかをテストします。

  3. NOOBSバージョン1.3.7のRaspbianでは、SSHはデフォルトで有効になっていません -一部のページの主張にもかかわらず。(これは、アーチLinux用の異なる場合があります。)しかし、それはありません初心者のバージョン1.3.10にRaspbianのために、このステップは、もはや任意のラズベリーPiは、古いバージョンでSDカードを使って配信することができる購入、しかし、(必要があるかもしれませんNOOBS、および700 MBのダウンロードを保存する価値があるかもしれません)。

    これを有効にする最も簡単な方法は、画面なしでssh準備する (このサイト)に対するOliの回答で説明されており、/etc/init.droot)のシンボリックリンクを変更することです。

    たとえば、ホストシステム上のUSBカードリーダーを使用してUbuntu 13.04 LiveCDから起動し、ターミナルでこれらのコマンドを発行するだけで十分です。

     sudo su
     cd /media/ubuntu/root
     for i in 2 3 4 5; do sudo ln -s /etc/init.d/ssh etc/rc$i.d/S02ssh; done
    
  4. オプション:これにより簡単になり、ネットワークの種類で許可される場合は、固定IPアドレスを設定します。ホームネットワークでは、NATルーターのDHCPサーバーが使用するIPアドレス範囲外のIPアドレス、たとえば192.168.0.93を割り当てることでこれを行うことができます。

    ファイルcmdline.txtbootSDカードのルート以外のフォルダー)に、長い行の最後にこれを追加します。

    ip=192.168.0.93
    

    最終結果は次のようになります。

    dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait ip=192.168.0.93
    

    手順3と同様に、編集するファイルはになります/media/ubuntu/root/boot/cmdline.txt

    注:IPアドレスの後に余分なパラメーターがないと、インターネットへの接続がないため、以下の手順11は失敗します。

  5. LiveCDメソッドがステップ3および4に使用されている場合:Ubuntuをシャットダウンします(変更を書き出してSDカードをアンマウントします)。

  6. SDカードを挿入してRaspberry Piを起動します。

  7. 手順1または手順4で見つかったIPアドレスを使用して(たとえば、WindowsでPuTTYを使用して)Raspberry PiにSSH でログインし、ログインします。

    login as: pi
    pi@192.168.0.100's password: raspberry    (or the password that was set in os.json, see 6 in *Pre-install*.)
    
  8. 新しいパスワードに変更します。

        su pi
        passwd
    
  9. オプション:Raspberry Piをさらに構成します

        sudo raspi-config
    
  10. オプション:TV出力を有効にする

    • 開きconfig.txtVI

        sudo vi /boot/config.txt
      
    • この行の結果(NOOBSはこれを有効にして余分な行を挿入した可能性があります)ので、読み取ります(# 行の先頭に挿入):

        #hdmi_force_hotplug=1
      
    • この行のコメントを解除します(2PAL用0です。NTSCに使用します)ので、読み取ります(#行の先頭にあるを削除します)。

        sdtv_mode=2
      
    • :wq

    • 再起動して効果を確認します。

        sudo shutdown -r now
      
  11. NOOBS 1.3.10で提供されるRaspbianでさえ、Bashにある非常に深刻なShellshockの脆弱性があり、Raspberry Piをパッチ未適用のままにしたくないでしょう。

    Raspberry PiがShellshockに対して脆弱かどうかをテストするには、次を発行します。

    env x='() { :;}; echo "WARNING: SHELLSHOCK DETECTED"' bash --norc -c ':' 2>/dev/null;
    

    リポジトリを更新してBashをアップグレードするには、次を発行します。

    sudo su
    apt-get update && apt-get install --only-upgrade bash
    

これをテストするとき、私は使用しました:

  1. NOOBS 1.3.7およびNOOBS 1.3.10。

  2. WindowsのUltraEditは、Unixの行末を含むテキストファイルを問題なく処理します。

  3. Windows XP 64ビット(はい、知っています)


ソース:

  1. GitHubのNOOBSのサブセクション「OSを自動的にインストールする方法」

  2. Debian LinuxでヘッドレスのRaspberry Piを実行します (ただし、これはSSHがデフォルトで有効になっていることを前提としていますが、NOOBSのバージョン1.3.7には当てはまりません)。

  3. Raspberry Piへの新しいOut Of Boxソフトウェア(NOOBS)ヘッドレスインストール。YouTubeビデオ。GPIOのTX / RXピンに接続するには、特別なハードウェア(USBシリアルコンバーターを内蔵したUSBケーブル)を使用します。事実上、昔ながらのダンプターミナルをRaspberry Piに接続するようなものです。

  4. Raspberry Piリモート接続-ネットワークなし!。通常のイーサネットケーブルを使用してコンピューターをRaspberryに直接接続する方法(特別なクロスオーバーは不要)、およびRaspberry Piに静的IPアドレスを設定する方法(ただし、この例では現在のサブネット外への接続を除外するため、インターネットへの接続)。

  5. NFS(nfsroot)を介してルートファイルシステムをマウントします。「このパラメーターはカーネルに伝えます」の近くです。ソース4および8のように静的IPアドレスを設定するための正式なドキュメントは、インターネットへの接続を許可する必要がありますが、これらのパラメーターがどうあるべきか明確ではありません...

  6. 「方法1:/boot/cmdline.txtの編集」付近のイーサネットのセットアップ。インターネットへの接続が可能になるように設定する方法を差し引くことができる「ip =」のより高度な使用例


2
うんいい答えだ!間違いなく賞金に値する!ここにいくつかの興味深いものがあります:)
ピョートルクラ14

注:静的IPアドレス方式を使用すると、ゲートウェイアドレスなどが設定されていないため、インターネットへの接続はありません。したがって、Shellshockパッチは機能しません。ただし、静的IPアドレス方式を使用して接続中にMACアドレスを見つけることでプロセスをブートストラップするために使用できます。「ifconfig」を発行し、MACアドレスを書き留めます(「eth0」の行の「HWaddr」フィールド)。MACアドレスをDHCPサーバーで使用すると、常に同じIPアドレスを使用して(特定のMACアドレスに特定のIPアドレスを予約する)、効果的に静的IPアドレスを取得できます。
ピーターモーテンセン14年

(編集するには:「以下のステップ4を使用して一時的に取得できます。」)
ピーターモーテンセン14年

1
@PeterMortensen私はその間にそれを理解しました。ご確認、ありがとうございます。パーティションのタイプは16進数C(FAT32 LBA)でなければならないことに注意してください。そうしないと、Raspberry Piが起動しません。
-FUZxxl

1
すばらしい答えです!この質問をご覧ください:raspberrypi.stackexchange.com/questions/61351/…これは何らかの形でこのトピックに関連しています。インストール中にネットワークミラーが無効になっていることを確認する必要があります。ありがとうございました。
ドリュー

9

簡単な答えは、NOOBSのオフラインインストールバージョンをダウンロードしてから、ファイルrecovery.cmdlineを編集しsilentinstall、最初の行の最後に追加することです。

これにより、raspbianが自動的にインストールされ、終了したらデスクトップが再起動します。


2
recovery.cmdlineの最後に空白行がある場合は、その行を削除してください。削除しないと、silentinstallは機能しません!
マイク・レッドローブ

8

ヘッドレスセットアップの場合ssh、SDカードのブートパーティションに拡張子なしの名前のファイルを配置することにより、SSHを有効にできます。

Piが起動すると、sshファイルを探します。見つかった場合、SSHが有効になり、ファイルが削除されます。ファイルの内容は重要ではありません。テキストを含むことも、まったく含まないこともあります。


ファイルは本当に削除されていますか?その場合、その後の再起動時にファイルは存在しなくなり、SSHは有効になりません。それは本当に1回限りの使用メカニズムであり、Piが起動するたびに、sshファイルを手動で置き換える必要がありますか?それはまったく正しく聞こえません。
Greenonline

1
はい、ファイルは本当に削除されます。起動時に、次のようにログインしてsshの通常の起動を設定する必要があります。sudo systemctl enable sshしたがって、次回起動します。
デイブX

ブート時にファイルが確実に削除されることを確認しました。
slm

5

このガイドが最も役立つことがわかりました。

セットアップの重要な更新:

  • 最新の画像では、sshはデフォルトで無効になっています。/ bootに新しいファイルsshを作成する必要があります(空にすることもできます)。例えば

    touch /Volumes/boot/ssh


2

私がこれをした方法は次のとおりでした:

  1. Piから電源ケーブルを取り外し、SDカードを取り出します。

  2. カードリーダー(またはラップトップが搭載されている場合は内蔵)とSDアダプターを使用して、コンピューターのカードを読み取ります。

  3. 中には、recovery.cmdline追加vncinstallの行の最後に。ソースここで、例えば、ここに

  4. OSのメディアを安全に取り出してから、アダプターを取り外します。

  5. SDをPiに挿入し、Piをイーサネットでルーターに接続し、電源を入れて、ネットワーク上のデバイスを見つけます。ルーターにアクセスして接続されたデバイスを表示できない場合はnmap、ネットワークのスキャンなどのツールを使用してください。例えばnmap 192.168.1.0/24 -p 5900。あなたが試すことができますもう一つはあるnslookup raspberrypiping raspberrypiIPを見つけること。使用するvncviewer raspberrypiか、vncviewer <IP>ホストに接続します。

  6. VNC接続を使用してRaspbianをインストールします。

  7. インストール後、デバイスが再起動します。

  8. Piの電源を切り、カードをコンピューターに戻します。

  9. sshブートパーティションに呼び出されるファイルを追加します。touchLinuxでこれを行うことができます。

  10. SDを安全に取り出してPiに戻し、電源を入れます。

  11. これで、PiにSSHで接続できるようになります。

  12. を使用してすぐにパスワードを変更しますpasswd


1

私もあなたと同じ問題に直面していました。NOOBSにRCAディスプレイを使用していましたが、画面に何も表示されませんでした。私が持っていた唯一のオプションはラップトップを使用することでしたが、SSH経由でRaspberry Piに接続するにはPuTTYで最初にセットアップする必要があります。

問題の簡単な解決策は、公式WebサイトからRaspbianの別のイメージをダウンロードし、フォーマット後にSDカードにマウントすることです。簡単に表示されます。RCAモニターを入手するだけです(たぶん、古いテレビが横になっているかもしれません)。


1
OPは「ラップトップの画面/キーボード以外に利用できる画面/キーボードはありません」と述べました。
ピーターモーテンセン

Raspbian、PAL、NTSCのRCAのデフォルト設定は何ですか?
ピーターモーテンセン

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.