从NOOBS安装Raspbian而不显示


88

我正在尝试从NOOBS安装Raspbian,但是除了笔记本电脑的屏幕/键盘之外,没有其他屏幕/键盘可用。我找到了有关使用Pi的笔记本电脑屏幕/键盘的足够信息,但是那时您已经需要安装操作系统。但是我没有安装操作系统,因为我的SD卡包含NOOBS,并且我想使用NOOBS安装Raspbian。

仅使用笔记本电脑的屏幕和键盘怎么办?我在笔记本电脑上运行Windows 7。


13
何必呢。如果您没有屏幕或键盘,您打算使用NOOBS做什么?只需下载Raspbian并安装在SD卡上即可。NOOBS只是浪费空间。
Milliways

Answers:


117

由于ssh未启用,因此它不再起作用。

仅使用笔记本电脑的屏幕和键盘(在安装之前和之后),都​​可以使用NOOBS(称为“静默安装”)来安装和配置使用SSH进行无头操作。它要求一个单独的屏幕 或键盘/鼠标。不过,它确实需要笔记本电脑(内置或外部USB)上的SD卡读卡器。

Raspberry Pi端唯一需要的就是 以太网连接(从主机系统通过SSH连接到它)。或者,使用特殊硬件(USB到串行适配器),可以在Raspberry Pi上使用一些GPIO引脚。[3]

可以完成以下操作:删除一些文件夹,编辑SD卡上的两个文件,并在其中设置一些符号链接 /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卡上下载并准备NOOBSNOOBS 1.3.10,于2014-09-09发行,是704 MB下载)。

    这可能涉及使用SDFormatter,并将选项“ FORMAT SIZE ADJUSTMENT”设置为“ ON”,以将整个SD卡格式化为一个大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服务器)在)。直到更改密码,然后断开系统与Internet的连接。

  8. 打开Raspberry Pi的电源以开始安装。等一下!这可能需要一段时间,例如半小时或更长时间。可以肯定的是,将其静置几个小时。使用NOOBS 1.3.10(从开机到第一次成功ping),安装时间为19分20秒。第一次ping成功后,汲取的电流为400-480 mA,并降至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 。(这可能是Arch Linux的不同。)但是,它用于在Raspbian菜鸟版本1.3.10,这一步可能不再是必要的(但是,任何购买树莓派可以用SD卡交付使用旧版本的NOOBS,可能值得保存700 MB下载)。

    Oli在没有屏幕的情况下准备ssh的答案 (在此站点上)中描述了启用它的最简单方法,该方法是更改中的符号链接/etc/init.d(中root)。

    例如,使用主机系统上的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.txt(位于bootSD卡根目录下的文件夹中)在长行末尾添加:

    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地址后没有其他参数,则无法连接到Internet,因此下面的步骤11将失败。

  5. 如果LiveCD方法已用于步骤3和4:关闭Ubuntu(以写出更改并卸载SD卡)。

  6. 插入SD卡后启动Raspberry Pi。

  7. 使用步骤1或步骤4中找到的IP地址(例如,在Windows上使用PuTTY)SSH到Raspberry Pi,并登录:

    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. 可选:启用电视输出

    • config.txtvi中打开:

        sudo vi /boot/config.txt
      
    • 注释掉这一行(NOOBS可能已经插入了额外的一行并启用了该行),因此它显示为(# 在行的开头插入):

        #hdmi_force_hotplug=1
      
    • 取消注释该行(2用于PAL;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,小节如何自动安装操作系统

  2. 在Debian Linux上无头运行Raspberry Pi (但是,默认情况下假定SSH是启用的,而NOOBS的1.3.7版本则不是这种情况)。

  3. 新的开箱即用软件(NOOBS)无头安装到Raspberry Pi上。YouTube视频。它使用特殊的硬件(带有内置USB到串行转换器的USB电缆)连接到GPIO上的TX / RX引脚。实际上,这就像将老式的转储终端连接到Raspberry Pi。

  4. Raspberry Pi远程连接–没有网络!。描述如何使用普通的以太网电缆将计算机直接连接到Raspberry(不需要特殊的交叉),以及如何在Raspberry Pi上设置静态IP地址(但是,该示例排除了当前子网外部的连接,从而避免了该连接)连接到互联网)。

  5. 通过 “此参数告诉内核”附近的 NFS(nfsroot)挂载根文件系统。用于设置静态IP地址的正式文档,如源4和8中应允许连接到Internet的其他参数,但尚不清楚这些参数应该是什么...

  6. 在“方法1:编辑/boot/cmdline.txt”附近,设置以太网。“ ip =”的更高级用法的示例,可以从中推断出如何设置它,以便可以连接到Internet。


2
是的,很好的答案!绝对值得赏金!一些有趣的事情在这里:)
Piotr Kula 2014年

注意:使用静态IP地址方法时,由于未设置网关地址等,因此没有与Internet的连接。因此,Shellshock修补程序将无法工作。但是它可以用来通过使用静态IP地址方法连接时找到MAC地址来引导进程-发出“ ifconfig”并写下MAC地址(“ eth0”行中的字段“ HWaddr”)。MAC地址可以与DHCP服务器一起使用,以始终使用相同的IP地址(为特定的MAC地址保留特定的IP地址)以有效地获得静态IP地址。
彼得·莫滕森

(要编辑:在“可以通过下面的第4步临时获得它。”附近)
Peter Mortensen 2014年

1
@PeterMortensen我在此同时知道了这一点。感谢您的确认。请注意,分区必须具有十六进制C(FAT32 LBA)类型,否则Raspberry Pi无法启动。
FUZxxl

1
惊人的答案!请查看以下问题:raspberrypi.stackexchange.com/questions/61351/…它与该主题有某种联系。我需要帮助以确保在安装过程中禁用网络镜像。谢谢。
Drew

9

简短的答案是,确保下载了NOOBS的脱机安装版本,然后编辑文件recovery.cmdlinesilentinstall在第一行的末尾添加。

这将自动安装raspbian,并在完成后重新引导到桌面。


2
如果发现recovery.cmdline在末尾有一个空白行,请删除该行,否则silentinstall将无法工作!
Mike Redrobe '17

8

对于无头设置,可以通过将一个名为ssh,没有任何扩展名的文件放在SD卡的启动分区上来启用S​​SH 。

当Pi启动时,它将查找ssh文件。如果找到,则启用SSH,并删除该文件。文件的内容无关紧要:它可以包含文本,也可以完全不包含任何文本。


该文件真的删除了吗?如果是这样,则在随后的重新启动时,该文件将不再存在,并且将不会启用SSH。难道真的只有一种一次性使用机制,并且每次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. 在您的操作系统中安全弹出介质,然后卸下适配器。

  5. 将SD插入Pi,通过以太网将Pi连接到路由器,打开电源,然后在网络上查找设备。如果您无法访问路由器查看连接的设备,请使用诸如nmap扫描网络之类的工具。例如nmap 192.168.1.0/24 -p 5900。您可以尝试的另一件事是nslookup raspberrypiping raspberrypi找到IP。使用vncviewer raspberrypivncviewer <IP>连接到主机。

  6. 使用您的VNC连接安装Raspbian。

  7. 安装后,设备将重新启动。

  8. 关闭Pi,然后将卡放回计算机。

  9. 将一个文件添加ssh到启动分区。您可以touch在Linux上使用此功能。

  10. 安全弹出SD并放回Pi并加电。

  11. 现在,您将能够通过SSH连接到Pi。

  12. 立即使用更改密码passwd


1

甚至我也面临着与您同样的问题。我将RCA显示器用于NOOBS,但屏幕上没有任何内容。我唯一的选择是使用笔记本电脑,但是最初需要使用PuTTY进行设置,以通过SSH连接到Raspberry Pi。

解决问题的快速方法是:从官方网站下载单独的Raspbian映像,然后在格式化后将其安装到SD卡上。您将轻松获得显示。您只需要安装一台RCA监视器(也许您身边有一台旧电视机)。


1
OP指出:“除了笔记本电脑的屏幕/键盘之外,没有其他屏幕/键盘可用。”
彼得·莫滕森

Raspbian,PAL或NTSC中RCA的默认设置是什么?
彼得·莫滕森

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.