Saturday, April 5, 2014

Raspberry Pi: Setting up Your Pi without External Keyboard and Monitor

This article shows how to do it on an Ubuntu machine. But the procedure will be the same on all the Unix and Linux machine. You will need to look for equivalent command for Windows platform. Essentially, this is what I am doing: 
  •  Formatting and copying Raspbian OS to the SD card 
  •  Editing /etc/network/interfaces file 
  •  Putting the SD card in Pi and plugging it to router. 
  •  SSHing to Pi and running a couple of commands

This post is geared towards getting Raspberry Pi set up to work from network.
  • You will not need a separate keyboard or monitor for installation and setup.
  • You will need a router to access your Pi via VNC or SSH.
  • Keep handy: an 8GB SD card, Raspberry Pi, network/LAN cable to connect your Pi to the router, access to the Internet.
Lets get started:
  1. Insert the SD card, run df -h to see where it is mounted:

    $ df -h
      Filesystem      Size  Used Avail Use% Mounted on
      /dev/sda8        35G   28G  5.1G  85% /
      none            4.0K     0  4.0K   0% /sys/fs/cgroup
      udev            2.0G  4.0K  2.0G   1% /dev
      tmpfs           392M  928K  391M   1% /run
      none            5.0M     0  5.0M   0% /run/lock
      none            2.0G   17M  1.9G   1% /run/shm
      none            100M   44K  100M   1% /run/user
      /dev/mmcblk0    7.4G  4.0K  7.4G   1% /media/nishant/naishePi
    
  2.  Format the SD card

    $ sudo mkdosfs -F 32 -v /dev/mmcblk0
    or you can use disk utility GUI tool by typing "Disks" in Ubuntu HUD

  3. Get a copy of Raspian from http://www.raspberrypi.org/download 
  4. Unzip it:
    $ unzip 2014-01-07-wheezy-raspbian.zip 
      Archive:  2014-01-07-wheezy-raspbian.zip
      inflating: 2014-01-07-wheezy-raspbian.img    
    $ ls
      2014-01-07-wheezy-raspbian.img  2014-01-07-wheezy-raspbian.zip
    
  5. Copy the image file to the SD card using dd
    $ sudo dd if=2014-01-07-wheezy-raspbian.img of=/dev/mmcblk0 bs=1M
      2825+0 records in
      2825+0 records out
      2962227200 bytes (3.0 GB) copied, 588.065 s, 5.0 MB/s
    
  6.  Execute sync to ensure nothing it left to write:
    $ sync
    
  7.  Unmount the SD card:
    $ sudo umount /dev/mmcblk0
  8. Remove the SD card from the slot and reinsert. It is required because the file system table has changed.
  9.  Now if you browse the SD card it will look like you are browsing a Linux distro. Also, you will see two partitions:
    $ df -h
      Filesystem      Size  Used Avail Use% Mounted on
      /dev/sda8        35G   28G  5.1G  85% / 
      none            4.0K     0  4.0K   0% /sys/fs/cgroup
      udev            2.0G  4.0K  2.0G   1% /dev
      tmpfs           392M  932K  391M   1% /run
      none            5.0M     0  5.0M   0% /run/lock
      none            2.0G   17M  1.9G   1% /run/shm
      none            100M   52K  100M   1% /run/user
      /dev/mmcblk0p2  2.6G  1.9G  586M  77% /media/nishant/fc254b57-8fff-4f96-9609-ea202d871acf
      /dev/mmcblk0p1   56M   19M   38M  34% /media/nishant/boot
    
Here you are 80% done. We now need to setup the network configuration so that we can SSH to our RasPi.

This is my plan. I should be able to place this SD Card in my Raspi and I shall be able to access it via SSH when I power it and connect it to the router that my laptop is connected to.
  1. Lookup your configuration using route command
    $ route -n
      Kernel IP routing table
      Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
      0.0.0.0         192.168.2.1     0.0.0.0         UG    0      0        0 eth1
      169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth1
      192.168.2.0     0.0.0.0         255.255.255.0   U     9      0        0 eth1
    
  2. We have mask, and gateway from last command. We know that the IP is going to be in 192.168.2.X series. So, lets assign 192.168.2.42 to RasPi. To do this, we need to edit /etc/network/interfaces on the Raspbian OS ***in the SD CARD** which is located at /media/nishant/fc254b57-8fff-4f96-9609-ea202d871acf/etc/network/interfaces. MAKE SURE YOU DO NOT END UP EDITING YOUR UBUNTU'S CONFIG.

    Replace the iface eth0 inet dhcp line with this:
    iface eth0 inet static
    address 192.168.2.42
    netmask 255.255.255.0
    gateway 192.168.2.1
    
DONE! Now place this SD card in your RaspberryPi, power it up, connect it to your router. Wait for 5 minutes. Now, try SSH from your laptop:

$ ssh pi@192.168.2.42
The password is "raspberry" by default. Now you are in Raspberry shell. You need to configure it.

Configuring the system: Execute the following, one by one:

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo raspi-config

Use up, down, tab, shift-tab to navigate through the wizard. Enter/space for selecting an option, and esc to going back to previous option.
Remember, unless you Finish this wizard, Raspbian will keep complaining that the config is not yet complete. So, make sure you finally select the "finish" button.

With basic configuration done, I wanted to use the hostname to SSH to the machine. If you wanted to do that, install Avahi.

$ sudo apt-get install avahi-daemon

Now, reboot.

sudo reboot -n

Wait a couple of minutes. Now, ssh pi@raspberry.local (e.g. ssh pi@.local)

Setting up VNC: If you wanted to work on Raspberry GUI. You will have to run VNC server on that so that you can access GUI through network. Here are the steps

  1. SSH to your Raspberry Pi.
  2. Install and run Tight VNC Server

    $ sudo apt-get install tightvncserver
    $ tightvncserver
    $ vncserver :1 -geometry 1024x728 -depth 24
    
  3. Access the GUI by using your favorite VNC client I use Remmina Remote Desktop Client on Ubuntu.

  4. If everything goes fine, you will see your RasPi Screen on your computer. And you could play with it as if you are directly connected to it.

3 comments:



  1. افضل شركة نقل اثاث بالمدينة المنورة تساعدك على نقل اثاثك بامان فلا داعى للقلق مع افضل شركة نقل اثاث بجدة

    عزيزى العميل انت من محبى التنقل باستمرار بالتالى انت بحاجة ماسة وضروية الى الاستعانة بالمختصين في نقل العفش خاصة ارخص شركة نقل اثاث بالرياض لان الاستعانة باى من عمالة الشوارع الغير مدربة والتي لا تمتلك خبرة كافية في نقل العفش او الحفاظ علية وليس هذا فقط فقد يؤدى الاستعانة بعمالة الشوارع الى حدوث حالة فقدان وتكسير للاثاث بالتالى التاثير الضار عليك عزيزى العميل

    لا تقلق مطلقاً الان بشأن نقل اي منقولات خاصة بك طالما استعنت بشركة الاول لـ نقل الأثاث في الرياض وخارج الرياض فنحن ليس الوحيدون ولكننا متميزون عن اى مؤسسة أخرى داخل وخارج الدمام وشهرتنا كافضل شركة نقل عفش بينبع
    نقل اثاث بجدة

    ReplyDelete