I am trying to install Raspbian from NOOBS, but I have no other screen/keyboard available than my laptop screen/keyboard. I find enough information about using a laptop screen/keyboard for a Pi, but then you already need to have an OS installed. But I have no OS installed, because my SD card contains NOOBS and I want to install Raspbian using NOOBS.

How can I do that with only my laptop screen and keyboard? I'm running Windows 7 on my laptop.

Why bother. If you don't have a screen or keyboard what are you planning to do with NOOBS? Just download Raspbian and install on the SD card. NOOBS is just a waste of space.
– MilliwaysApr 14 '14 at 10:18

7 Answers
7

Using only the laptop's screen and keyboard (both before and
after installation), install and configuration for headless
operation using SSH is possible using NOOBS (they call it
"silent install"). It does not require a separate screen
or keyboard/mouse. It does require an SD card reader on the
laptop (built in or external USB), though.

The only thing required on the Raspberry Pi side is an
Ethernet connection (to SSH into it from a host
system). Alternatively, using special hardware
(USB-to-serial adapter), it possible to use
some GPIO pins on the Raspberry Pi.[3]

This can be done deleting a few folders, editing two files
on the SD card and setting some symbolic links in
/etc/init.d (make a backup copy first of the SD card content
if you only have the SD card with NOOBS on it). The security
conscious may want to change the default password before installation.

Prerequisites:

A host computer capable of running an SSH client and of
reading/writing the file system on the Raspberry Pi's SD
card (ext4). The operating system could be Windows, Mac
or Linux. This could be a computer that is normally
running Windows, but which has a DVD drive so Ubuntu can
be started in trial mode using a LiveCD.

An Ethernet connection to the Raspberry Pi and accessible
by the host computer TCP/IP-wise (the host computer could
itself use Ethernet or a wireless connection).

A text editor on the host system that can correctly
handle Unix end-of-line characters. For example,
UltraEdit on Windows that I have used for testing.
Notepad++ and Vim on Windows should
also be fine.

An SD card reader (to make crucial changes to the SD card
during the process, both pre-install og post-install).

HowTo

Pre-install

For instance, to automatically install Raspbian (the
recommended choice) when power is applied to the Raspberry
Pi with the SD card in, do the following offline (on the host system,
Windows, Mac or Linux):

This can involve using SDFormatter with option
"FORMAT SIZE ADJUSTMENT" set to "ON"
to format the entire SD card as one big FAT32 formatted
partition). See the linked page for details.

In the os folder on the SD card with NOOBS, delete all
folders except Raspbian (folders Arch, RaspBMC, Pidora,
OpenELEC, RISC_OS, and data_partition for NOOBS 1.3.7.
And only Data_Partition for NOOBS 1.3.10).

Edit file \os\Raspbian\flavours.json, so it only
contains the desired version of Raspbian, "Raspbian"
(not "Raspbian - Boot to Scratch").

Delete the extra file(s) that your text editor may produce (such as a .bak file).

Put the SD card into the Raspberry Pi, connect it with an
Ethernet cable such that the host system with the SSH client
can see it and such that DHCP is available to the
Raspberry Pi (for instance, most NAT-routers have a DHCP server
built in). Perhaps disconnect the system from the
Internet until the password has been changed.

Power the Raspberry Pi on to start the installation.
And wait! This can take a while, like half an hour or more.
To be sure, leave it alone for a few hours. An install time
of 19 minutes and 20 seconds has been measured when
using NOOBS 1.3.10 (from power up till the first
successful ping). The current drawn was 400 - 480 mA
and fell to 370 mA after the first ping succeeded.

Post-install

Find the Raspberry Pi's IP address (assigned by DHCP)
somehow. For instance, guess it from the IP address range
that a DHCP server in a NAT router uses and ping those addresses
(mine is set up to use
192.168.0.100 - 192.168.0.255 and often it is
assigned 192.168.0.100 or 192.168.0.101).

Wireshark can also be used for this purpose, especially if it
is in an environment with a lot of devices. This is much easier to do
if the MAC address of the Raspberry Pi is known, and it can be
obtained by temporary using step 4 below.

This step is not necessary if a fixed IP address is set in step 4 below.

Ping from the host to test if there is a connection.

SSH is not enabled by default for Raspbian in NOOBS version 1.3.7 - despite what some pages claim. (It may be different for Arch Linux.) However, it is for Raspbian in NOOBS version 1.3.10, and this step may no longer be necessary (however, any purchased Raspberry Pi may be delivered with an SD card with an older version of NOOBS, and it may be worth saving the 700 MB download).

Optional: set a fixed IP address if this makes it
easier and the kind of network allows it. On a home
network this could be by assigning an IP address outside
of the IP address range used by a NAT router's DHCP server,
for example, 192.168.0.93.

In file cmdline.txt (in folder boot off the root of the SD card) add this at the end of the long line:

Raspberry Pi Remote Connections – Without A Network!.
Describes how to connect a computer directly to the Raspberry
using a normal Ethernet cable (a special cross-over is not needed) and
how to set a static IP address on the Raspberry Pi (however, the example
precludes connection outside the current subnet and thus connection
to the Internet).

Mounting the root filesystem via NFS (nfsroot),
near "This parameter tells the kernel".
Formal documentation for setting a static IP address as
in source 4 and 8 other parameters that should allow
connection to the Internet, but it is not clear exactly
what those parameters should be...

Setting Up Ethernet,
near "Method 1: Editing /boot/cmdline.txt".
Example of the more advanced uses of "ip=" from
which it may be possible to deduct how to set it up
such that a connection to the Internet is possible.

Note: using the static IP address method there is no connection to the Internet as the gateway address, etc. is not set up. Thus, the Shellshock patch will not work. But it can be used to bootstrap the process by finding the MAC address while connected using the static IP address method - issue "ifconfig" and write down the MAC address (field "HWaddr" in the line with "eth0"). The MAC address can be used with a DHCP server to always use the same IP address (reserve a particular IP address for a particular MAC address) to effectively get a static IP address.
– Peter MortensenNov 23 '14 at 3:03

(To edit: near "it can be obtained by temporary using step 4 below.")
– Peter MortensenNov 27 '14 at 8:47

1

@PeterMortensen I figured that out in the meanwhile. Thank you for confirming. Notice that the partition must have type hexadecimal C (FAT32 LBA) or the Raspberry Pi won't boot.
– FUZxxlMar 28 '15 at 23:05

Is the file really deleted? If so, then upon a subsequent reboot, the file would no longer be present, and SSH would not be enabled. Is it really only a one-time use mechanism, and each time the Pi boots, the ssh file needs to be manually replaced? That doesn't sound quite right.
– GreenonlineJun 9 '17 at 0:57

1

Yes, the file is really deleted. Upon boot, you need to login and configure normal bootups for ssh, like: sudo systemctl enable ssh so it comes up next time.
– Dave XNov 23 '17 at 1:04

Even I was facing the same problem as yours. I was using the RCA display for NOOBS and there was nothing on the screen. The only option I had was using my laptop, but that needs to be initially set up with PuTTY to connect to Raspberry Pi via SSH.

The quick solution to your problem is: Download a separate image of Raspbian from the official website and then mount it on the SD card after formatting. You'll get the display easily. You just have to get an RCA monitor (maybe you have an old TV set lying around).

Welcome to Raspberry Pi! Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference.
– Steve RobillardJan 23 '15 at 11:26

Use a card reader (or built in one if your laptop has one) and the SD adapter to read the card on your computer.

In recovery.cmdline add vncinstall to the end of the line. Source here, example here.

Safely eject the media in your OS then remove the adapter.

Insert SD into Pi, connect Pi with ethernet to your router, power up, and then find the device on your network. If you can't access your router to see connected devices, use a tool such as nmap to scan your network. e.g. nmap 192.168.1.0/24 -p 5900. Another thing you can try is nslookup raspberrypi or ping raspberrypi to find the IP. Use vncviewer raspberrypi or vncviewer <IP> to connect to the host.

Install Raspbian using your VNC connection.

After installation the device will reboot.

Turn off the Pi and put the card back into your computer.

Add a file called ssh to the boot partition. You can use touch on Linux to do this.