Cài đặt Raspbian từ NOOBS mà không hiển thị


88

Tôi đang cố gắng cài đặt Raspbian từ NOOBS, nhưng tôi không có màn hình / bàn phím nào khác ngoài màn hình / bàn phím máy tính xách tay của tôi. Tôi tìm thấy đủ thông tin về việc sử dụng màn hình / bàn phím máy tính xách tay cho Pi, nhưng sau đó bạn đã cần cài đặt HĐH. Nhưng tôi chưa cài đặt HĐH, vì thẻ SD của tôi chứa NOOBS và tôi muốn cài đặt Raspbian bằng NOOBS.

Làm thế nào tôi có thể làm điều đó chỉ với màn hình máy tính xách tay và bàn phím của tôi? Tôi đang chạy Windows 7 trên máy tính xách tay của mình.


13
Quan tâm làm gì. Nếu bạn không có màn hình hoặc bàn phím, bạn dự định làm gì với NOOBS? Chỉ cần tải xuống Raspbian và cài đặt trên thẻ SD. NOOBS chỉ là một sự lãng phí không gian.
Milliways

Câu trả lời:


117

Điều này không còn hoạt động kể từ khi sshkhông được kích hoạt.

Chỉ sử dụng màn hình và bàn phím của máy tính xách tay (cả trước và sau khi cài đặt), có thể cài đặt và cấu hình cho hoạt động không đầu bằng SSH bằng cách sử dụng NOOBS (họ gọi đó là "cài đặt im lặng"). Nó không yêu cầu một màn hình hoặc bàn phím / chuột riêng biệt . Mặc dù vậy, nó yêu cầu đầu đọc thẻ SD trên máy tính xách tay (USB tích hợp hoặc bên ngoài).

Điều duy nhất cần có ở phía Raspberry Pi là kết nối Ethernet (để SSH vào nó từ hệ thống máy chủ). Ngoài ra, bằng cách sử dụng phần cứng đặc biệt (bộ chuyển đổi USB nối tiếp), có thể sử dụng một số chân GPIO trên Raspberry Pi. [3]

Điều này có thể được thực hiện để xóa một vài thư mục, chỉnh sửa hai tệp trên thẻ SD và đặt một số liên kết tượng trưng trong /etc/init.d(tạo bản sao dự phòng trước cho nội dung thẻ SD nếu bạn chỉ có thẻ SD có NOOBS trên đó). Ý thức bảo mật có thể muốn thay đổi mật khẩu mặc định trước khi cài đặt.

Điều kiện tiên quyết:

  • Một máy tính chủ có khả năng chạy máy khách SSH và đọc / ghi hệ thống tệp trên thẻ SD của Raspberry Pi ( ext4 ). Hệ điều hành có thể là Windows, Mac hoặc Linux. Đây có thể là một máy tính thường chạy Windows, nhưng có ổ đĩa DVD để Ubuntu có thể được khởi động ở chế độ dùng thử bằng LiveCD .

  • Kết nối Ethernet với Raspberry Pi và có thể truy cập bằng máy chủ TCP / IP theo chiều (máy tính chủ có thể sử dụng Ethernet hoặc kết nối không dây).

  • Một trình soạn thảo văn bản trên hệ thống máy chủ có thể xử lý chính xác các ký tự cuối dòng Unix . Ví dụ: UltraEdit trên Windows mà tôi đã sử dụng để thử nghiệm. Notepad ++Vim trên Windows cũng sẽ ổn.

  • Đầu đọc thẻ SD (để thực hiện các thay đổi quan trọng đối với thẻ SD trong quá trình, cả cài đặt trước khi cài đặt og sau khi cài đặt).

Làm thế nào để

Cài đặt sẵn

Chẳng hạn, để tự động cài đặt Raspbian (lựa chọn được khuyến nghị) khi cấp nguồn cho Raspberry Pi bằng thẻ SD, hãy thực hiện ngoại tuyến sau (trên hệ thống máy chủ, Windows, Mac hoặc Linux):

  1. Tải xuống và chuẩn bị NOOBS ( NOOBS 1.3.10 , phát hành 2014-09-09, là tải xuống 704 MB) trên thẻ SD đủ lớn, 4 GB trở lên.

    Điều này có thể liên quan đến việc sử dụng SDFormatter với tùy chọn "FORMAT SIZE ADJUSTMENT " được đặt thành "ON" để định dạng toàn bộ thẻ SD dưới dạng một phân vùng định dạng FAT32 lớn). Xem trang được liên kết để biết chi tiết.

  2. Trong osthư mục trên thẻ SD với noobs, xóa tất cả các thư mục trừ Raspbian(thư mục Arch, RaspBMC, Pidora, OpenELEC, RISC_OS, và data_partitioncho noobs 1.3.7. Và chỉ Data_Partitioncho noobs 1.3.10).

  3. Chỉnh sửa tệp \os\Raspbian\flavours.json, do đó, nó chỉ chứa phiên bản mong muốn của Raspbian, "Raspbian" (không phải "Raspbian - Boot to Scratch").

    Trước:

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

    Sau:

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

    Xóa (các) tệp bổ sung mà trình soạn thảo văn bản của bạn có thể tạo (chẳng hạn như tệp .bak).

  4. Chỉnh sửa tệp recovery.cmdline(trong rootthư mục thẻ SD ) để thêm silentinstallvào danh sách đối số.

    Trước (có thể khác nhau tùy thuộc vào phiên bản NOOBS):

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

    Sau (có thể khác nhau tùy thuộc vào phiên bản NOOBS):

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

    Xóa (các) tệp bổ sung mà trình soạn thảo văn bản của bạn có thể tạo (chẳng hạn như tệp .bak).

  5. Không bắt buộc:

    Để giữ tùy chọn mở kết nối TV với đầu ra video, hãy thêm display=3(3 cho PAL, 4 cho NTSC):

     runinstaller quiet vt.cur_default=1 coherent_pool=6M elevator=deadline silentinstall display=3
    
  6. Tùy chọn: thay đổi tên người dùng và mật khẩu mặc định bằng cách chỉnh sửa \os\Raspbian\os.json:

    Trước:

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

    Sau:

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

    Xóa (các) tệp bổ sung mà trình soạn thảo văn bản của bạn có thể tạo (chẳng hạn như tệp .bak).

  7. Đặt thẻ SD vào Raspberry Pi, kết nối nó với cáp Ethernet sao cho hệ thống máy chủ với máy khách SSH có thể nhìn thấy nó và do đó DHCP có sẵn cho Raspberry Pi (ví dụ, hầu hết các máy phát điện NAT đều có máy chủ DHCP được xây dựng trong). Có lẽ ngắt kết nối hệ thống khỏi Internet cho đến khi mật khẩu đã được thay đổi.

  8. Bật nguồn Raspberry Pi để bắt đầu cài đặt. Và chờ đợi! Điều này có thể mất một lúc, như nửa giờ hoặc hơn. Để chắc chắn, hãy để nó một mình trong vài giờ. Thời gian cài đặt là 19 phút và 20 giây đã được đo khi sử dụng NOOBS 1.3.10 (từ khi bật nguồn cho đến khi ping thành công đầu tiên). Mức rút hiện tại là 400 - 480 mA và giảm xuống còn 370 mA sau khi ping đầu tiên thành công.

Cài đặt sau

  1. Tìm địa chỉ IP của Raspberry Pi (được gán bởi DHCP) bằng cách nào đó. Chẳng hạn, hãy đoán nó từ dải địa chỉ IP mà máy chủ DHCP trong bộ định tuyến NAT sử dụng và ping các địa chỉ đó (của tôi được thiết lập để sử dụng 192.168.0.100 - 192.168.0.255 và thường được gán 192.168.0.100 hoặc 192.168.0.101) .

    Wireshark cũng có thể được sử dụng cho mục đích này, đặc biệt nếu nó ở trong môi trường có nhiều thiết bị. Điều này dễ thực hiện hơn nhiều nếu biết địa chỉ MAC của Raspberry Pi và có thể lấy được bằng cách sử dụng tạm thời bước 4 dưới đây.

    Bước này không cần thiết nếu địa chỉ IP cố định được đặt ở bước 4 bên dưới.

  2. Ping từ máy chủ để kiểm tra nếu có kết nối.

  3. SSH không được bật theo mặc định cho Raspbian trong phiên bản NOOBS 1.3.7 - mặc dù một số trang yêu cầu. (Nó có thể là khác nhau cho Arch Linux.) Tuy nhiên, nó cho Raspbian trong phiên bản noobs 1.3.10, và bước này có thể không còn cần thiết (tuy nhiên, bất kỳ mua Raspberry Pi có thể được cung cấp với một thẻ SD với phiên bản cũ của NOOBS và có thể đáng để lưu tải xuống 700 MB).

    Cách dễ nhất để kích hoạt nó được mô tả trong câu trả lời của Oli để Chuẩn bị cho ssh mà không cần màn hình (trên trang web này) và là thay đổi các liên kết tượng trưng trong /etc/init.d(trong root).

    Chẳng hạn, khởi động từ Ubuntu 13.04 LiveCD bằng đầu đọc thẻ USB trên hệ thống máy chủ và ban hành các lệnh này trong Terminal sẽ là đủ:

     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. Tùy chọn: đặt địa chỉ IP cố định nếu việc này giúp dễ dàng hơn và loại mạng cho phép. Trên mạng gia đình, điều này có thể bằng cách chỉ định một địa chỉ IP bên ngoài dải địa chỉ IP được sử dụng bởi máy chủ DHCP của bộ định tuyến NAT, ví dụ: 192.168.0.93.

    Trong tệp cmdline.txt(trong thư mục bootgốc của thẻ SD), hãy thêm phần này vào cuối dòng dài:

    ip=192.168.0.93
    

    Kết quả cuối cùng có thể là một cái gì đó như:

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

    Giống như bước 3, tập tin cần chỉnh sửa sẽ là /media/ubuntu/root/boot/cmdline.txt.

    Lưu ý: không có tham số bổ sung sau địa chỉ IP thì không có kết nối với Internet và do đó bước 11 dưới đây sẽ thất bại.

  5. Nếu phương pháp LiveCD đã được sử dụng cho bước 3 và 4: Tắt máy Ubuntu (để viết ra các thay đổi và ngắt kết nối thẻ SD).

  6. Khởi động Raspberry Pi lên với thẻ SD được lắp vào.

  7. SSH đến Raspberry Pi bằng địa chỉ IP được tìm thấy ở bước 1 hoặc bước 4 (ví dụ: sử dụng PuTTY trên Windows) và đăng nhập:

    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. Thay đổi mật khẩu mới:

        su pi
        passwd
    
  9. Tùy chọn: thực hiện thêm cấu hình của Raspberry Pi

        sudo raspi-config
    
  10. Tùy chọn: bật đầu ra TV

    • Mở config.txttrong vi :

        sudo vi /boot/config.txt
      
    • Outcomment dòng này (NOOBS có thể đã chèn thêm một dòng có bật này), vì vậy nó đọc (chèn # ở đầu dòng):

        #hdmi_force_hotplug=1
      
    • Bỏ ghi chú dòng này ( 2dành cho PAL; sử dụng 0cho NTSC), vì vậy nó đọc (loại bỏ #ở đầu dòng):

        sdtv_mode=2
      
    • :wq

    • Khởi động lại để thấy hiệu quả:

        sudo shutdown -r now
      
  11. Ngay cả Raspbian được phân phối với NOOBS 1.3.10 cũng có lỗ hổng Shellshock rất nghiêm trọng ở Bash và bạn không muốn Raspberry Pi bị bỏ sót.

    Để kiểm tra xem Raspberry Pi có dễ bị Shellshock hay không, hãy đưa ra:

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

    Để làm mới kho lưu trữ và nâng cấp Bash, hãy phát hành:

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

Khi kiểm tra điều này, tôi đã sử dụng:

  1. NOOBS 1.3.7 và NOOBS 1.3.10.

  2. UltraEdit trên Windows vì nó xử lý các tệp văn bản với kết thúc dòng Unix mà không gặp vấn đề gì.

  3. Windows XP 64-bit (vâng, tôi biết)


Nguồn:

  1. NOOBS tại GitHub , phần phụ Cách tự động cài đặt hệ điều hành

  2. Chạy Raspberry Pi không đầu với Debian Linux (Tuy nhiên, điều này giả định SSH được bật theo mặc định, đây không phải là trường hợp với phiên bản 1.3.7 của NOOBS).

  3. Phần mềm Out Of Box mới (NOOBS) không cài đặt vào Raspberry Pi . Video YouTube. Nó sử dụng phần cứng đặc biệt (cáp USB có bộ chuyển đổi nối tiếp USB tích hợp) để kết nối với các chân TX / RX trên GPIO. Về mặt hiệu quả, nó giống như kết nối một thiết bị đầu cuối kiểu cũ với Raspberry Pi.

  4. Kết nối từ xa Raspberry Pi - Không có mạng! . Mô tả cách kết nối máy tính trực tiếp với Raspberry bằng cáp Ethernet thông thường (không cần sử dụng chéo đặc biệt) và cách đặt địa chỉ IP tĩnh trên Raspberry Pi (tuy nhiên, ví dụ này loại trừ kết nối bên ngoài mạng con hiện tại và do đó kết nối Internet).

  5. Gắn hệ thống tập tin gốc thông qua NFS (nfsroot) , gần "Tham số này cho biết kernel". Tài liệu chính thức để đặt địa chỉ IP tĩnh như trong nguồn 4 và 8 tham số khác sẽ cho phép kết nối với Internet, nhưng không rõ chính xác những tham số đó sẽ là gì ...

  6. Thiết lập Ethernet , gần "Phương pháp 1: Chỉnh sửa /boot/cmdline.txt". Ví dụ về việc sử dụng "ip =" nâng cao hơn từ đó có thể khấu trừ cách thiết lập nó sao cho có thể kết nối với Internet.


2
Vâng, câu trả lời tuyệt vời! Chắc chắn giá trị tiền thưởng! Một số điều thú vị ở đây :)
Piotr Kula

Lưu ý: sử dụng phương thức địa chỉ IP tĩnh không có kết nối với Internet vì địa chỉ cổng, v.v. không được thiết lập. Do đó, bản vá Shellshock sẽ không hoạt động. Nhưng nó có thể được sử dụng để khởi động lại quá trình bằng cách tìm địa chỉ MAC trong khi được kết nối bằng phương thức địa chỉ IP tĩnh - phát hành "ifconfig" và ghi lại địa chỉ MAC (trường "HWaddr" trong dòng có "eth0"). Địa chỉ MAC có thể được sử dụng với máy chủ DHCP để luôn sử dụng cùng một địa chỉ IP (dành một địa chỉ IP cụ thể cho một địa chỉ MAC cụ thể) để có được địa chỉ IP tĩnh.
Peter Mortensen

(Để chỉnh sửa: gần "có thể lấy được bằng cách tạm thời sử dụng bước 4 bên dưới.")
Peter Mortensen

1
@PeterMortensen Tôi đã tìm ra điều đó trong khi đó. Cảm ơn bạn đã xác nhận. Lưu ý rằng phân vùng phải có kiểu thập lục phân C(FAT32 LBA) hoặc Raspberry Pi sẽ không khởi động.
FUZxxl

1
Câu trả lời tuyệt vời! Xin hãy xem câu hỏi này: raspberrypi.stackexchange.com/questions/61351/ Cách của nó bằng cách nào đó liên quan đến chủ đề này. Tôi cần trợ giúp để đảm bảo rằng các gương mạng bị vô hiệu hóa trong khi cài đặt. Cảm ơn bạn.
vẽ

9

Câu trả lời ngắn gọn là, đảm bảo bạn tải xuống phiên bản cài đặt ngoại tuyến của NOOBS, sau đó chỉnh sửa tệp recovery.cmdlinevà thêm silentinstallvào cuối dòng đầu tiên.

Điều đó sẽ tự động cài đặt raspbian và khởi động lại vào máy tính để bàn khi hoàn tất.


2
Nếu bạn thấy recovery.cmdline có một dòng trống ở cuối, hãy xóa dòng đó, nếu không thì cài đặt im lặng sẽ không hoạt động!
Mike Redcoat

8

Đối với thiết lập không đầu, SSH có thể được bật bằng cách đặt tệp có tên sshmà không có bất kỳ tiện ích mở rộng nào trên phân vùng khởi động của thẻ SD.

Khi Pi khởi động, nó tìm sshtập tin. Nếu được tìm thấy, SSH được bật và tệp sẽ bị xóa. Nội dung của tệp không quan trọng: nó có thể chứa văn bản hoặc không có gì cả.


Là tập tin thực sự bị xóa? Nếu vậy, sau lần khởi động lại tiếp theo, tệp sẽ không còn nữa và SSH sẽ không được bật. Có thực sự chỉ là cơ chế sử dụng một lần và mỗi lần Pi khởi động, sshtập tin cần phải được thay thế bằng tay? Điều đó không có vẻ hoàn toàn đúng.
Greenonline

1
Có, tập tin thực sự bị xóa. Khi khởi động, bạn cần đăng nhập và định cấu hình khởi động bình thường cho ssh, như: sudo systemctl enable sshđể nó xuất hiện vào lần tới.
Dave X

Xác nhận rằng tập tin chắc chắn bị xóa khi khởi động.
slm

5

Tôi thấy hướng dẫn này là hữu ích nhất.

Một cập nhật quan trọng trong thiết lập:

  • ssh bị tắt theo mặc định trên các hình ảnh mới nhất. Bạn phải tạo một tệp ssh mới trong / boot (có thể để trống). Ví dụ

    touch /Volumes/boot/ssh


2

Cách tôi đã làm như sau:

  1. Tháo cáp nguồn khỏi Pi và sau đó rút thẻ SD ra.

  2. Sử dụng đầu đọc thẻ (hoặc tích hợp trong một nếu máy tính xách tay của bạn có) và bộ chuyển đổi SD để đọc thẻ trên máy tính của bạn.

  3. Trong recovery.cmdlinethêm vncinstallvào cuối dòng. Nguồn ở đây , ví dụ ở đây .

  4. Đẩy phương tiện một cách an toàn trong hệ điều hành của bạn sau đó tháo bộ điều hợp.

  5. Chèn SD vào Pi, kết nối Pi với ethernet với bộ định tuyến của bạn, bật nguồn và sau đó tìm thiết bị trên mạng của bạn. Nếu bạn không thể truy cập bộ định tuyến của mình để xem các thiết bị được kết nối, hãy sử dụng một công cụ như nmapđể quét mạng của bạn. ví dụ nmap 192.168.1.0/24 -p 5900. Một điều khác bạn có thể thử là nslookup raspberrypihoặc ping raspberrypitìm IP. Sử dụng vncviewer raspberrypihoặc vncviewer <IP>để kết nối với máy chủ.

  6. Cài đặt Raspbian bằng kết nối VNC của bạn.

  7. Sau khi cài đặt, thiết bị sẽ khởi động lại.

  8. Tắt Pi và đặt lại thẻ vào máy tính của bạn.

  9. Thêm một tập tin được gọi sshvào phân vùng khởi động. Bạn có thể sử dụng touchtrên Linux để làm điều này.

  10. Đẩy SD một cách an toàn và đặt lại vào Pi và bật nguồn.

  11. Bây giờ bạn sẽ có thể SSH đến Pi.

  12. Thay đổi mật khẩu ngay lập tức bằng cách sử dụng passwd.


1

Ngay cả tôi cũng đang đối mặt với cùng một vấn đề như của bạn. Tôi đã sử dụng màn hình RCA cho NOOBS và không có gì trên màn hình. Tùy chọn duy nhất tôi có là sử dụng máy tính xách tay của mình, nhưng điều đó cần được thiết lập ban đầu với PuTTY để kết nối với Raspberry Pi thông qua SSH.

Giải pháp nhanh chóng cho vấn đề của bạn là: Tải xuống một hình ảnh riêng về Raspbian từ trang web chính thức và sau đó gắn nó vào thẻ SD sau khi định dạng. Bạn sẽ có được màn hình dễ dàng. Bạn chỉ cần có một màn hình RCA (có thể bạn có một chiếc TV cũ nằm xung quanh).


1
OP tuyên bố: "Tôi không có màn hình / bàn phím nào khác ngoài màn hình / bàn phím máy tính xách tay của tôi."
Peter Mortensen

Cài đặt mặc định cho RCA trong Raspbian, PAL hoặc NTSC là gì?
Peter Mortensen

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.