Memasang Raspbian dari NOOBS tanpa layar

88

Saya mencoba menginstal Raspbian dari NOOBS, tetapi saya tidak memiliki layar / keyboard lain selain layar / keyboard laptop saya. Saya menemukan cukup informasi tentang menggunakan layar laptop / keyboard untuk Pi, tetapi kemudian Anda sudah harus memiliki OS yang diinstal. Tetapi saya tidak memiliki OS yang diinstal, karena kartu SD saya mengandung NOOBS dan saya ingin menginstal Raspbian menggunakan NOOBS.

Bagaimana saya bisa melakukan itu hanya dengan layar laptop dan keyboard saya? Saya menjalankan Windows 7 di laptop saya.

ProgramFOX
sumber
13
Mengapa mengganggu. Jika Anda tidak memiliki layar atau keyboard, apa yang Anda rencanakan dengan NOOBS? Cukup unduh Raspbian dan pasang di kartu SD. NOOBS hanyalah pemborosan ruang.
Milliways

Jawaban:

117

Ini tidak lagi berfungsi karena sshtidak diaktifkan.

Hanya menggunakan layar dan keyboard laptop (baik sebelum dan sesudah instalasi), instal dan konfigurasi untuk operasi tanpa kepala menggunakan SSH dimungkinkan menggunakan NOOBS (mereka menyebutnya "silent install"). Ini tidak memerlukan layar terpisah atau keyboard / mouse. Itu memang membutuhkan pembaca kartu SD pada laptop (built-in atau USB eksternal).

Satu-satunya hal yang diperlukan pada sisi Raspberry Pi adalah koneksi Ethernet (ke SSH ke dalamnya dari sistem host). Atau, dengan menggunakan perangkat keras khusus (adaptor USB-ke-serial), dimungkinkan untuk menggunakan beberapa pin GPIO pada Raspberry Pi. [3]

Ini dapat dilakukan dengan menghapus beberapa folder, mengedit dua file pada kartu SD dan mengatur beberapa tautan simbolik /etc/init.d(buat salinan cadangan terlebih dahulu dari konten kartu SD jika Anda hanya memiliki kartu SD dengan NOOBS di atasnya). Sadar keamanan mungkin ingin mengubah kata sandi default sebelum instalasi.

Prasyarat:

  • Komputer host yang mampu menjalankan klien SSH dan membaca / menulis sistem file pada kartu SD Raspberry Pi ( ext4 ). Sistem operasi dapat berupa Windows, Mac atau Linux. Ini bisa berupa komputer yang biasanya menjalankan Windows, tetapi yang memiliki drive DVD sehingga Ubuntu dapat dimulai dalam mode uji coba menggunakan LiveCD .

  • Koneksi Ethernet ke Raspberry Pi dan dapat diakses oleh komputer host TCP / IP -wise (komputer host itu sendiri dapat menggunakan Ethernet atau koneksi nirkabel).

  • Editor teks pada sistem host yang dapat dengan benar menangani karakter end-of-line Unix . Misalnya, UltraEdit di Windows yang saya gunakan untuk pengujian. Notepad ++ dan Vim pada Windows juga harus baik-baik saja.

  • Pembaca kartu SD (untuk membuat perubahan penting pada kartu SD selama proses, baik pra-instal dan pasca-instal).

HowTo

Pra-instal

Misalnya, untuk menginstal Raspbian (pilihan yang disarankan) secara otomatis ketika daya diterapkan ke Raspberry Pi dengan kartu SD, lakukan offline berikut (pada sistem host, Windows, Mac atau Linux):

  1. Unduh dan siapkan NOOBS ( NOOBS 1.3.10 , dirilis 2014-09-09, adalah unduhan 704 MB) pada kartu SD yang cukup besar, 4 GB atau lebih besar.

    Ini dapat melibatkan penggunaan SDFormatter dengan opsi "FORMAT SIZE ADJUSTMENT" disetel ke "ON" untuk memformat seluruh kartu SD sebagai satu partisi berformat FAT32 yang besar). Lihat halaman tertaut untuk detailnya.

  2. Dalam osfolder pada kartu SD dengan noobs, menghapus semua folder kecuali Raspbian(folder Arch, RaspBMC, Pidora, OpenELEC, RISC_OS, dan data_partitionuntuk noobs 1.3.7. Dan hanya Data_Partitionuntuk noobs 1.3.10).

  3. Edit file \os\Raspbian\flavours.json, jadi itu hanya berisi versi yang diinginkan dari Raspbian, "Raspbian" (bukan "Raspbian - Boot to Scratch").

    Sebelum:

       {
         "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"
           }
         ]
       }
    

    Setelah:

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

    Hapus file tambahan yang dapat dihasilkan oleh editor teks Anda (seperti file .bak).

  4. Edit file recovery.cmdline(dalam rootfolder kartu SD ) untuk ditambahkan silentinstallke daftar argumen.

    Sebelum (mungkin berbeda tergantung pada versi NOOBS):

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

    Setelah (mungkin berbeda tergantung pada versi NOOBS):

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

    Hapus file tambahan yang dapat dihasilkan oleh editor teks Anda (seperti file .bak).

  5. Pilihan:

    Untuk menahan opsi terbuka menghubungkan TV ke output video, tambahkan juga display=3(3 untuk PAL, 4 untuk NTSC):

     runinstaller quiet vt.cur_default=1 coherent_pool=6M elevator=deadline silentinstall display=3
    
  6. Opsional: ubah nama pengguna dan kata sandi default dengan mengedit \os\Raspbian\os.json:

    Sebelum:

       {
         "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"
       }
    

    Setelah:

       {
         "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"
       }
    

    Hapus file tambahan yang dapat dihasilkan oleh editor teks Anda (seperti file .bak).

  7. Masukkan kartu SD ke dalam Raspberry Pi, sambungkan dengan kabel Ethernet sehingga sistem host dengan klien SSH dapat melihatnya dan sedemikian rupa sehingga DHCP tersedia untuk Raspberry Pi (misalnya, sebagian besar programmer- NAT memiliki server DHCP yang dibuat di). Mungkin putuskan sistem dari Internet sampai kata sandi telah diubah.

  8. Nyalakan Raspberry Pi untuk memulai instalasi. Dan tunggu! Ini bisa memakan waktu cukup lama, seperti setengah jam atau lebih. Yang pasti, biarkan saja selama beberapa jam. Waktu pemasangan 19 menit dan 20 detik telah diukur saat menggunakan NOOBS 1.3.10 (dari daya hingga ping yang sukses pertama). Gambar saat ini adalah 400 - 480 mA dan jatuh ke 370 mA setelah ping pertama berhasil.

Pasca-instal

  1. Temukan alamat IP Raspberry Pi (ditugaskan oleh DHCP) entah bagaimana. Misalnya, tebak dari rentang alamat IP yang digunakan server DHCP di router NAT dan ping alamat-alamat itu (tambang diatur untuk menggunakan 192.168.0.100 - 192.168.0.255 dan sering kali ditugaskan 192.168.0.100 atau 192.168.0.101) .

    Wireshark juga dapat digunakan untuk tujuan ini, terutama jika berada di lingkungan dengan banyak perangkat. Ini jauh lebih mudah dilakukan jika alamat MAC Raspberry Pi diketahui, dan itu bisa diperoleh dengan menggunakan langkah 4 di bawah ini.

    Langkah ini tidak perlu jika alamat IP tetap diatur pada langkah 4 di bawah ini.

  2. Ping dari host untuk menguji apakah ada koneksi.

  3. SSH tidak diaktifkan secara default untuk Raspbian di NOOBS versi 1.3.7 - terlepas dari apa yang diklaim beberapa halaman. (Ini mungkin berbeda untuk Arch Linux.) Namun, adalah untuk Raspbian di noobs versi 1.3.10, dan langkah ini mungkin tidak lagi diperlukan (Namun, setiap membeli Raspberry Pi dapat disampaikan dengan kartu SD dengan versi lama dari NOOBS, dan mungkin layak untuk menyimpan unduhan 700 MB).

    Cara termudah untuk mengaktifkannya dijelaskan dalam jawaban Oli untuk Mempersiapkan ssh tanpa layar (di situs ini) dan mengubah tautan simbolik di /etc/init.d(dalam root).

    Misalnya, boot dari LiveCD Ubuntu 13.04 dengan pembaca kartu USB pada sistem host dan mengeluarkan perintah-perintah ini di Terminal sudah cukup:

     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. Opsional: tetapkan alamat IP tetap jika ini membuatnya lebih mudah dan jenis jaringan memungkinkannya. Pada jaringan rumah ini bisa dengan menetapkan alamat IP di luar kisaran alamat IP yang digunakan oleh server DHCP router NAT, misalnya, 192.168.0.93.

    Dalam file cmdline.txt(dalam folder bootdari akar kartu SD) tambahkan ini di akhir garis panjang:

    ip=192.168.0.93
    

    Hasil akhirnya mungkin seperti:

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

    Seperti untuk langkah 3, file yang akan diedit /media/ubuntu/root/boot/cmdline.txt.

    Catatan: tanpa parameter tambahan setelah alamat IP tidak ada koneksi ke Internet dan dengan demikian langkah 11 di bawah ini akan gagal.

  5. Jika metode LiveCD telah digunakan untuk langkah 3 dan 4: Matikan Ubuntu (untuk menuliskan perubahan dan melepas kartu SD).

  6. Mulai Raspberry Pi dengan kartu SD dimasukkan.

  7. SSH ke Raspberry Pi menggunakan alamat IP yang ditemukan di langkah 1 atau langkah 4 (misalnya, menggunakan Putty pada Windows) dan masuk:

    login as: pi
    [email protected]'s password: raspberry    (or the password that was set in os.json, see 6 in *Pre-install*.)
    
  8. Ubah ke kata sandi baru:

        su pi
        passwd
    
  9. Opsional: lakukan konfigurasi lebih lanjut dari Raspberry Pi

        sudo raspi-config
    
  10. Opsional: aktifkan output TV

    • Buka config.txtdi vi :

        sudo vi /boot/config.txt
      
    • Keluar dari baris ini (NOOBS mungkin telah memasukkan baris tambahan dengan ini diaktifkan), jadi berbunyi (masukkan # di awal baris):

        #hdmi_force_hotplug=1
      
    • Batalkan komentar pada baris ini ( 2untuk PAL; gunakan 0untuk NTSC), jadi bunyinya (hapus #di awal baris):

        sdtv_mode=2
      
    • :wq

    • Mulai ulang untuk melihat efeknya:

        sudo shutdown -r now
      
  11. Bahkan Raspbian disampaikan dengan noobs 1.3.10 memiliki sangat serius SHELLSHOCK kerentanan yang ada di Bash , dan Anda tidak ingin Raspberry Pi dibiarkan unpatched.

    Untuk menguji apakah Raspberry Pi rentan terhadap Shellshock, terbitkan:

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

    Untuk menyegarkan repositori dan meningkatkan Bash, terbitkan:

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

Saat menguji ini, saya menggunakan:

  1. NOOBS 1.3.7 dan NOOBS 1.3.10.

  2. UltraEdit di Windows karena menangani file teks dengan ujung jalur Unix tanpa masalah.

  3. Windows XP 64-bit (ya, saya tahu)


Sumber:

  1. NOOBS di GitHub , subbagian Cara Memasang OS secara Otomatis

  2. Menjalankan Raspberry Pi tanpa kepala dengan Debian Linux (Namun, ini menganggap SSH diaktifkan secara default yang tidak terjadi dengan versi 1.3.7 dari NOOBS).

  3. New Out Of Box Software (NOOBS) menginstal tanpa kepala ke Raspberry Pi . Video Youtube. Ini menggunakan perangkat keras khusus (kabel USB dengan built-in USB-to-serial converter) untuk terhubung ke pin TX / RX pada GPIO. Secara efektif, ini seperti menghubungkan terminal pembuangan kuno ke Raspberry Pi.

  4. Koneksi Remote Raspberry Pi - Tanpa Jaringan! . Menjelaskan cara menyambungkan komputer secara langsung ke Raspberry menggunakan kabel Ethernet normal (cross-over khusus tidak diperlukan) dan cara mengatur alamat IP statis pada Raspberry Pi (namun, contoh ini menghalangi koneksi di luar subnet saat ini dan dengan demikian koneksi ke Internet).

  5. Mount sistem file root melalui NFS (nfsroot) , dekat "Parameter ini memberitahu kernel". Dokumentasi formal untuk menetapkan alamat IP statis seperti pada sumber 4 dan 8 parameter lain yang harus memungkinkan koneksi ke Internet, tetapi tidak jelas apa tepatnya parameter tersebut seharusnya ...

  6. Menyiapkan Ethernet , di dekat "Metode 1: Mengedit / boot / cmdline.txt". Contoh penggunaan "ip =" yang lebih maju yang memungkinkan untuk mengurangi cara mengaturnya sehingga koneksi ke Internet dimungkinkan.

Peter Mortensen
sumber
2
Ya jawaban yang bagus! Pasti bernilai karunia! Beberapa hal menarik di sini :)
Piotr Kula
Catatan: menggunakan metode alamat IP statis tidak ada koneksi ke Internet sebagai alamat gateway, dll. Tidak diatur. Dengan demikian, patch Shellshock tidak akan berfungsi. Tetapi ini dapat digunakan untuk mem-bootstrap proses dengan menemukan alamat MAC saat terhubung menggunakan metode alamat IP statis - terbitkan "ifconfig" dan tulis alamat MAC (bidang "HWaddr" di baris "eth0"). Alamat MAC dapat digunakan dengan server DHCP untuk selalu menggunakan alamat IP yang sama (cadangan alamat IP tertentu untuk alamat MAC tertentu) untuk secara efektif mendapatkan alamat IP statis.
Peter Mortensen
(Untuk mengedit: dekat "itu dapat diperoleh secara sementara menggunakan langkah 4 di bawah.")
Peter Mortensen
1
@PeterMortensen saya menemukan itu sementara itu. Terima kasih sudah mengkonfirmasi. Perhatikan bahwa partisi tersebut harus memiliki tipe heksadesimal C(FAT32 LBA) atau Raspberry Pi tidak dapat boot.
FUZxxl
1
Jawaban yang luar biasa! Silakan lihat pertanyaan ini: raspberrypi.stackexchange.com/questions/61351/… itu terkait dengan topik ini. Saya perlu bantuan untuk memastikan bahwa mirror jaringan dinonaktifkan selama instalasi. Terima kasih.
Drew
9

Jawaban singkatnya adalah, pastikan Anda mengunduh versi instal NOOBS offline, lalu edit file recovery.cmdlinedan tambahkan silentinstalldi akhir baris pertama.

Itu akan secara otomatis menginstal raspbian, dan reboot ke desktop setelah selesai.

Mike Redrobe
sumber
2
Jika Anda menemukan recovery.cmdline memiliki baris kosong di bagian akhir, hapus baris tersebut, jika tidak silentinstall tidak akan berfungsi!
Mike Redrobe
8

Untuk pengaturan tanpa kepala, SSH dapat diaktifkan dengan menempatkan file bernama ssh, tanpa ekstensi apa pun, ke partisi boot kartu SD.

Ketika Pi mem-boot, ia mencari sshfile. Jika ditemukan, SSH diaktifkan, dan file dihapus. Konten file tidak masalah: bisa berisi teks, atau tidak sama sekali.

philip mudenyo
sumber
Apakah file tersebut benar-benar dihapus? Jika demikian, maka pada reboot berikutnya, file tidak akan lagi ada, dan SSH tidak akan diaktifkan. Apakah ini benar-benar hanya mekanisme penggunaan satu kali, dan setiap kali Pi melakukan boot, sshfile tersebut perlu diganti secara manual? Kedengarannya itu tidak benar.
Greenonline
1
Ya, file tersebut benar-benar dihapus. Saat boot, Anda perlu masuk dan mengkonfigurasi bootup normal untuk ssh, seperti: sudo systemctl enable sshsehingga muncul di lain waktu.
Dave X
Dikonfirmasi bahwa file pasti dihapus saat boot.
slm
5

Saya menemukan panduan ini yang paling bermanfaat.

Pembaruan penting dalam penyiapan:

  • ssh dinonaktifkan secara default pada gambar terbaru. Anda harus membuat file baru ssh di / boot (bisa kosong). Misalnya

    touch /Volumes/boot/ssh

gameweld
sumber
2

Cara saya melakukan ini adalah sebagai berikut:

  1. Lepaskan kabel daya dari Pi dan kemudian keluarkan kartu SD.

  2. Gunakan pembaca kartu (atau built in jika laptop Anda memilikinya) dan adaptor SD untuk membaca kartu di komputer Anda.

  3. Dalam recovery.cmdlinemenambahkan vncinstallke akhir baris. Sumber di sini , contoh di sini .

  4. Keluarkan media dengan aman di OS Anda kemudian lepaskan adaptor.

  5. Masukkan SD ke Pi, sambungkan Pi dengan ethernet ke router Anda, hidupkan, dan kemudian temukan perangkat di jaringan Anda. Jika Anda tidak dapat mengakses router Anda untuk melihat perangkat yang terhubung, gunakan alat seperti nmapuntuk memindai jaringan Anda. mis nmap 192.168.1.0/24 -p 5900. Hal lain yang dapat Anda coba adalah nslookup raspberrypiatau ping raspberrypiuntuk menemukan IP. Gunakan vncviewer raspberrypiatau vncviewer <IP>untuk terhubung ke host.

  6. Instal Raspbian menggunakan koneksi VNC Anda.

  7. Setelah instalasi, perangkat akan reboot.

  8. Matikan Pi dan masukkan kembali kartu itu ke komputer Anda.

  9. Tambahkan file yang dipanggil sshke partisi boot. Anda dapat menggunakan touchdi Linux untuk melakukan ini.

  10. Keluarkan SD dengan aman dan kembalikan ke Pi dan hidupkan.

  11. Anda sekarang dapat SSH ke Pi.

  12. Ganti kata sandi dengan segera passwd.

SilverlightFox
sumber
1

Bahkan saya menghadapi masalah yang sama dengan Anda. Saya menggunakan layar RCA untuk NOOBS dan tidak ada apa pun di layar. Satu-satunya pilihan yang saya miliki adalah menggunakan laptop saya, tetapi pada awalnya perlu diatur dengan Putty untuk terhubung ke Raspberry Pi melalui SSH.

Solusi cepat untuk masalah Anda adalah: Unduh gambar Raspbian yang terpisah dari situs web resmi lalu pasang di kartu SD setelah memformat. Anda akan mendapatkan tampilan dengan mudah. Anda hanya perlu mendapatkan monitor RCA (mungkin Anda memiliki TV lama yang tergeletak).

Sanyam Khurana
sumber
1
OP menyatakan: "Saya tidak memiliki layar / keyboard lain selain layar laptop / keyboard saya."
Peter Mortensen
Apa pengaturan default untuk RCA di Raspbian, PAL atau NTSC?
Peter Mortensen
1

Saya telah memposting pengaturan terperinci Raspberry Pi tanpa layar, mouse, dan keyboard di Cara memulai Raspberry Pi tanpa layar? .

kush rami
sumber
5
Selamat datang di Raspberry Pi! Sementara ini secara teoritis dapat menjawab pertanyaan, akan lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi.
Steve Robillard