Difference between revisions of "RPi Beginners"

From eLinux.org
Jump to: navigation, search
m (Where to start?)
(22 intermediate revisions by 14 users not shown)
Line 12: Line 12:
 
# If something is not working, check the [[R-Pi_Troubleshooting|Troubleshooting]] section.
 
# If something is not working, check the [[R-Pi_Troubleshooting|Troubleshooting]] section.
 
# If you need help with Debian, try the [http://wiki.debian.org/FrontPage Debian Wiki].
 
# If you need help with Debian, try the [http://wiki.debian.org/FrontPage Debian Wiki].
# If you have imaged a SD with the Debian Wheezy image and started your RPi here's some help with what you see first - the raspi-config menu [[Wheezy_raspi-config]]
+
# If you have imaged a SD with the Debian Wheezy image and started your RPi here's some help with what you see first - the raspi-config menu [[RPi_raspi-config]]
# Help for Noob's with a quizical disposition and Wheezy or Raspbian instalations [http://elinux.org/Noob_Guides_for_Wheezy_using_2012-16-18_beta here]
+
# Help for Noob's with a quizical disposition and Wheezy or Raspbian instalations [[RPi_Noob_Guides_for_Wheezy_using_2012-16-18_beta|here]]
# If you don't have a composite monitor or HDMI then it may be worth you looking at [http://elinux.org/A_Method_for_ssh_blind_login Blind Login Method]
+
# If you don't have a composite monitor or HDMI then it may be worth you looking at [[RPi_A_Method_for_ssh_blind_login|Blind Login Method]]
# Build yourself a Wheezy [http://elinux.org/A_Simple_Wheezy_LAMP_install LAMP] webserver.
+
# Build yourself a Wheezy [[RPi_A_Simple_Wheezy_LAMP_install|LAMP]] webserver.
# VNC connection for the monitorily challenged Noob [http://elinux.org/Wheezy_VNC VNC for a wheezy install] (noobs that are using the Blind Login)
+
# VNC connection for the monitorily challenged Noob [[RPi_Wheezy_VNC|VNC for a wheezy install]] (noobs that are using the Blind Login)
 
# If you've done all that, and you are wondering what next...'''welcome and read on!'''
 
# If you've done all that, and you are wondering what next...'''welcome and read on!'''
  
Line 22: Line 22:
 
  References needed (idea for new section Living Without RPi, which can guide users or link to info to users who haven't got RPis)
 
  References needed (idea for new section Living Without RPi, which can guide users or link to info to users who haven't got RPis)
 
       Link to emulation builds or live linux cds setup for beginners (RacyPy2 for example)
 
       Link to emulation builds or live linux cds setup for beginners (RacyPy2 for example)
If you don't have a Raspberry Pi yet, you can still try things out, see xxxx for details.
+
If you don't have a Raspberry Pi yet, you can still try things out, see [http://sourceforge.net/projects/rpiqemuwindows/ Windows RPi Emulator] for details.
  
 
=What is Linux and why not use Windows?=
 
=What is Linux and why not use Windows?=
Line 34: Line 34:
 
[http://en.wikipedia.org/wiki/Linux Wikipedia]
 
[http://en.wikipedia.org/wiki/Linux Wikipedia]
  
Also see [http://elinux.org/RPi_End-user_FAQ End-User FAQ]
+
Also see [[RPi_End-user_FAQ End-User|FAQ]]
And [http://elinux.org/Will_RPi_Run Running XXX on the RPi]
+
And [[Will_RPi_Run|Running XXX on the RPi]]
  
 
=Basic Debian RPi Setup=
 
=Basic Debian RPi Setup=
Line 41: Line 41:
  
 
== Default login and password ==
 
== Default login and password ==
See the ''default login'' section of [[RPi_Distributions#Available Distributions|distributions page]] to access your Pi.
+
See the ''Username:Password'' column of [[RPi_Distributions#Available Distributions|distributions table]] to access your Pi.
  
 
== Locale settings ==
 
== Locale settings ==
Line 103: Line 103:
  
 
== Create a new user with sudo-privileges ==
 
== Create a new user with sudo-privileges ==
 +
 +
'''NOTE:Be careful when using visudo! If you use the incorrect format, you may not be able to sudo for any user!'''
 +
 +
''If you do manage to invalidate your /etc/sudoers file, see section "Repair /etc/sudoers file" on how to recover''
  
 
You may want to create a new user account for yourself.
 
You may want to create a new user account for yourself.
  
Type in following command in the terminal to create a new user:
+
Type in following command in the terminal to create a new user (for example the user john):
  
  sudo adduser username
+
  sudo adduser john
  
 
Follow the steps.
 
Follow the steps.
Line 117: Line 121:
 
Add following line under the "root ALL=(ALL) ALL" Line:
 
Add following line under the "root ALL=(ALL) ALL" Line:
  
  yourUsername ALL=(ALL) ALL
+
  john ALL=(ALL) ALL
  
Now press CTRL+K, X to save and exit the editor.
+
Now press CTRL+O, X to save and exit the editor.
  
 
Alternatively instead of adding the user to the sudoers list, you can add your user to the sudo group with the following command:
 
Alternatively instead of adding the user to the sudoers list, you can add your user to the sudo group with the following command:
  
  adduser <username> sudo
+
  adduser john sudo
  
== Debian Wheezy, using raspi-config ==
+
== Repair /etc/sudoers file ==
Debian Wheezy has a menu that will do some of the above and more [[Wheezy_raspi-config]]
+
sudo: parse error in /etc/sudoers near line 29
 +
sudo: no valid sudoers sources found, quitting
 +
sudo: unable to initialize policy plugin
  
 +
If you have edited your sudoers file and get the message above, do not worry - it is easy to recover
 +
pkexec bash
 +
 +
You will be prompted for the pi password. The initial password for pi is "raspberry"
 +
 +
You will now be connected as root user. Use "visudo" to repair the configuration file
 +
 +
== Debian Wheezy, using raspi-config ==
 +
Debian Wheezy has a menu that will do some of the above and more. See [[RPi_raspi-config|raspi-config]]
  
 
=Intro to the CLI (Command Line Interface)=
 
=Intro to the CLI (Command Line Interface)=
Line 147: Line 162:
 
More details about remote access (including remote GUI are at [[RPi Remote Access]]
 
More details about remote access (including remote GUI are at [[RPi Remote Access]]
  
=Adding more software to your Raspberry Pi=
+
=Installing and updating software to your Raspberry Pi=
You will probably want to add software to your Raspberry Pi. Here you can find out how to do it.
+
You will probably want to add software to your Raspberry Pi, as well as keep the current packages up to date. With Raspbian this is performed using apt-get. The most common commands can be found in the [http://elinux.org/Add_software adding software page]. It is good practice to regularly ensure you run the update and upgrade commands detailed in the [http://elinux.org/Add_software guide] to ensure you have the most up to date software packages.
[http://elinux.org/Add_software Adding Software]
+
 
 +
The apt-get package for Raspbian will also keep the GPU firmware updated to the latest stable release. If you'd like to try the bleeding edge releases you can read more on the [http://elinux.org/RPi_Software#GPU_bootloaders RPi Software].
  
 
=Adding USB Storage to Your Raspberry Pi=
 
=Adding USB Storage to Your Raspberry Pi=
Sooner or later, you're going to run out of room on the SD card used to boot up your Raspberry Pi.  For a tutorial on how to connect USB flash drives and hard drives to your Pi to expand storage, see: [http://elinux.org/Adding_USB_Drives_to_a_Raspberry_Pi Adding USB Drives to a Raspberry Pi]
+
Sooner or later, you're going to run out of room on the SD card used to boot up your Raspberry Pi.  For a tutorial on how to connect USB flash drives and hard drives to your Pi to expand storage, see: [http://elinux.org/RPi_Adding_USB_Drives Adding USB Drives to a Raspberry Pi]
  
 
=Beginner Projects=
 
=Beginner Projects=
Line 160: Line 176:
 
  Reference needed - a good guide on how to backup and restore cards or software to do this easily
 
  Reference needed - a good guide on how to backup and restore cards or software to do this easily
  
==Backup Software==
+
==Backup your SD card==
 
+
  
 
For Windows users the 'Raw HDD Copy Tool' from HDD Guru works well to backup and restore your SD card between proejcts.
 
For Windows users the 'Raw HDD Copy Tool' from HDD Guru works well to backup and restore your SD card between proejcts.
 
This can backup and restore the entire card sector by sector to/from an img file, and doesn't care which file system is on the card.
 
This can backup and restore the entire card sector by sector to/from an img file, and doesn't care which file system is on the card.
  
http://hddguru.com/software/HDD-Raw-Copy-Tool/  
+
http://hddguru.com/software/HDD-Raw-Copy-Tool/
  
 +
Linux users can use the dd tool that comes with most versions of Linux (including Raspbian) to save the contents of an SD card as an image file. Warning: be sure to use this tool carefully as accidentally choosing your hard drive as the output may destroy all data on it.
  
 
==Media Player==
 
==Media Player==
Line 174: Line 190:
 
DesignSpark have written an article on this, which is worth a look, [http://www.designspark.com/content/raspberry-pi-goes-movies DesignSpark - Raspberry Pi goes to the movies]
 
DesignSpark have written an article on this, which is worth a look, [http://www.designspark.com/content/raspberry-pi-goes-movies DesignSpark - Raspberry Pi goes to the movies]
  
  Reference needed - links to a specific wiki page covering this in detail or links to projects like
+
You can download an installer from www.raspbmc.com which will install to your desktop (IOS, Windows, Linux) and write the latest install to your SD card. You then boot your Pi with the card and go through the config steps.  
                    OpenElec, CrystalBuntu, Raspbmc etc
+
 
 +
There is a breif video basic tutorial here: http://www.instructables.com/id/RaspberryPi-Media-center-XMBC/
 +
 
 +
''Reference needed - More information is needed on specific configuration choices for raspbmc, although raspbmc.com does have a wiki.''
  
 
==Play Games==
 
==Play Games==
Line 207: Line 226:
  
 
In the latest Debian, Python (+Pygame) and MIT Scratch are pre-installed.
 
In the latest Debian, Python (+Pygame) and MIT Scratch are pre-installed.
 +
 +
* [http://www.youtube.com/user/RaspberryPiBeginners Raspberry Pi Beginners] (videos)
 +
* [http://www.youtube.com/user/RaspberryPiTutorials Raspberry Pi YouTube Tutorials] (videos)
 +
* [http://www.youtube.com/playlist?list=PLgyU3jNA6VjS3ij6ZXbb2x4GdEP3bAWzO My First Raspberry Pi Game] (videos)
 +
* [[RPi Tutorial Easy GPIO Hardware & Software|Easy GPIO Hardware & Software]] (videos) - in-progress at the moment
  
 
  Reference needed - links to the learning pages, recommended books?
 
  Reference needed - links to the learning pages, recommended books?
Line 212: Line 236:
 
==Interface With Hardware==
 
==Interface With Hardware==
 
# [[RPi Interfacing with hardware|Interfacing with Arduino]]
 
# [[RPi Interfacing with hardware|Interfacing with Arduino]]
+
 
 
  Reference needed - links to basic circuits tutorials and expansion boards
 
  Reference needed - links to basic circuits tutorials and expansion boards
 
  
 
==Word Processing/Internet Browsing etc==
 
==Word Processing/Internet Browsing etc==
Line 265: Line 288:
  
  
=References=
+
=References=  
 
<references/>
 
<references/>
 +
 
{{Template:Raspberry Pi}}
 
{{Template:Raspberry Pi}}
 +
[[Category:RaspberryPi]]

Revision as of 08:52, 16 January 2013


RaspPi.png Back to the Hub


Getting Started:

Buying Guide - for advice on buying the Raspberry Pi.

SD Card Setup - for information on how to prepare the SD Card used to boot your Raspberry Pi.

Basic Setup - for help with buying / selecting other hardware and setting it up.

Beginners Guide - you are up and running, now what can you do?

Advanced Setup - for more extensive information on setting up.

Trouble Shooting - some things to check if things don't work as expected.

There is some restructuring going on , we are sorry for the inconvenience.

Where to start?

Any easy question to ask, but a very difficult one to answer!

  1. If you are looking for any information related to SD Cards and setup look here
  2. If you need to get a RPi, the see the Buying Guide.
  3. If you need to know what equipment you will need and how to set it up, see the Basic Hardware Setup page.
  4. If you need to install/setup an SD card see the Preload your Card section.
  5. If something is not working, check the Troubleshooting section.
  6. If you need help with Debian, try the Debian Wiki.
  7. If you have imaged a SD with the Debian Wheezy image and started your RPi here's some help with what you see first - the raspi-config menu RPi_raspi-config
  8. Help for Noob's with a quizical disposition and Wheezy or Raspbian instalations here
  9. If you don't have a composite monitor or HDMI then it may be worth you looking at Blind Login Method
  10. Build yourself a Wheezy LAMP webserver.
  11. VNC connection for the monitorily challenged Noob VNC for a wheezy install (noobs that are using the Blind Login)
  12. If you've done all that, and you are wondering what next...welcome and read on!


References needed (idea for new section Living Without RPi, which can guide users or link to info to users who haven't got RPis)
     Link to emulation builds or live linux cds setup for beginners (RacyPy2 for example)

If you don't have a Raspberry Pi yet, you can still try things out, see Windows RPi Emulator for details.

What is Linux and why not use Windows?

Linux is an operating system just like Windows, however, unlike Windows (which needs a set hardware requirement to run i.e. One Size fits or get different hardware), Linux comes in many varieties and configurations which means you can usually find a flavour (or Distribution) which fits your hardware big or small / fast or slow.

The Raspberry Pi is not suited to running Windows due to its hardware, but there are plenty of Linux Distributions which fit nicely. In addition to this, most Distributions of Linux are free, however Windows can cost many times the price of the Raspberry Pi itself.

Chances are you already have Linux running in your home without you even knowing it, since it is commonly used in modern TVs, Freeview and cable boxes to run things and ensure your recording of Inbetweeners or Prison Break gets done!

For more information about Linux see Wikipedia

Also see FAQ And Running XXX on the RPi

Basic Debian RPi Setup

When you first turn on your Raspberry Pi with it's fresh Debian image on the SD card, you will likely want to tweak the system settings.

Default login and password

See the Username:Password column of distributions table to access your Pi.

Locale settings

By configuring the locale settings, you can change the language and country settings (e.g. to get correct sorting behaviour) for much of the software available for the RPi. The default RPi locale is English/Great Britain ("en_GB").

You can alter this with

   sudo dpkg-reconfigure locales

You will get a very long list of possible locales. You can enable/disable a locale by pressing the spacebar (not Enter), and scroll through the list using the arrow keys or PgUp/PgDn.

Selecting "All locales" will generate all possible locales, taking a very long time and using a great deal of space. Select only those you wish to use.

It is highly recommended to stick to the UTF-8 locales, and to leave the en_GB.UTF-8 locale enabled, in addition to any other locales you enable.

If you're unsure of which locale to pick, look up a two-letter language code and a two-letter country code on Wikipedia, and see if you can find a matching locale.

When you're done picking locale(s), press Enter. You will be prompted to select a default locale as well.

Keyboard layout

If different letters appear on-screen from that which you typed, you need to reconfigure you keyboard settings. In Debian, from a command line type:

sudo dpkg-reconfigure keyboard-configuration

Follow the prompts.

Or: From the command line type:

sudo nano /etc/default/keyboard

Then find where it says

XKBLAYOUT="gb"

and change the gb to the two-letter code for your country. [1]

Also, see the Troubleshooting Guide for more information about remapping the keyboard.

You may need to restart for the changes to take effect.

If you get a very long delay during the keyboard mapping at startup, type the following once on the command line after you have logged in:

sudo setupcon

If the selected keyboard layout is not applied in the console (that is, when not running under X), try:

sudo apt-get install console-data

Timezone

Unless you live in Great Britain, you'll have to change the default timezone:

   sudo dpkg-reconfigure tzdata

Select geographic area - Europe, America or whatever. Etc gives UNIX compatible time zones including CUT, GMT, UTC

Select city

Follow the prompts to finish the config. The change should be immediate.

Create a new user with sudo-privileges

NOTE:Be careful when using visudo! If you use the incorrect format, you may not be able to sudo for any user!

If you do manage to invalidate your /etc/sudoers file, see section "Repair /etc/sudoers file" on how to recover

You may want to create a new user account for yourself.

Type in following command in the terminal to create a new user (for example the user john):

sudo adduser john

Follow the steps.

To allow the newly created user to use the "sudo" command, type:

sudo visudo

Add following line under the "root ALL=(ALL) ALL" Line:

john ALL=(ALL) ALL

Now press CTRL+O, X to save and exit the editor.

Alternatively instead of adding the user to the sudoers list, you can add your user to the sudo group with the following command:

adduser john sudo

Repair /etc/sudoers file

sudo: parse error in /etc/sudoers near line 29
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

If you have edited your sudoers file and get the message above, do not worry - it is easy to recover

pkexec bash

You will be prompted for the pi password. The initial password for pi is "raspberry"

You will now be connected as root user. Use "visudo" to repair the configuration file

Debian Wheezy, using raspi-config

Debian Wheezy has a menu that will do some of the above and more. See raspi-config

Intro to the CLI (Command Line Interface)

You will need to use the Command Line Interface at some point in your management of the RPi. The command line interface is a powerful way to interact with the Raspberry Pi and is well worth learning some basic commands to get started with.

For an introductory guide to some basic commands please see: Command Line Interface "Must Have" Commands. Featured on the Raspberry Pi home page was also a link to this site for "learning the shell"

Your SD card may boot into a GUI, if not and you are done with the text interface and want to use a graphical one instead, run:

   startx

Remote Access

Your default install probably has a ssh (secure shell) "daemon" running. This means that you can run everything on your Rpi with only the network attached. Provided you know which ip address it has. With appropriate software installed on your Winodws, Mac or Linux PC, you can also run a gui remotely.

Prior to your initial remote access it is recommended that you regenerate unique host public/private ID keys with the following command

 rm /etc/ssh/ssh_host_* && dpkg-reconfigure openssh-server

More details about remote access (including remote GUI are at RPi Remote Access

Installing and updating software to your Raspberry Pi

You will probably want to add software to your Raspberry Pi, as well as keep the current packages up to date. With Raspbian this is performed using apt-get. The most common commands can be found in the adding software page. It is good practice to regularly ensure you run the update and upgrade commands detailed in the guide to ensure you have the most up to date software packages.

The apt-get package for Raspbian will also keep the GPU firmware updated to the latest stable release. If you'd like to try the bleeding edge releases you can read more on the RPi Software.

Adding USB Storage to Your Raspberry Pi

Sooner or later, you're going to run out of room on the SD card used to boot up your Raspberry Pi. For a tutorial on how to connect USB flash drives and hard drives to your Pi to expand storage, see: Adding USB Drives to a Raspberry Pi

Beginner Projects

Here are a few things you can try out with your Raspberry Pi, in most cases all you'll need is your SD Card loaded with a particular preconfigured OS Distribution.

It will be worth getting a few spare SD Cards if you think you will switch between setups regularly or become familiar with how to back up and restore your card.

Reference needed - a good guide on how to backup and restore cards or software to do this easily

Backup your SD card

For Windows users the 'Raw HDD Copy Tool' from HDD Guru works well to backup and restore your SD card between proejcts. This can backup and restore the entire card sector by sector to/from an img file, and doesn't care which file system is on the card.

http://hddguru.com/software/HDD-Raw-Copy-Tool/

Linux users can use the dd tool that comes with most versions of Linux (including Raspbian) to save the contents of an SD card as an image file. Warning: be sure to use this tool carefully as accidentally choosing your hard drive as the output may destroy all data on it.

Media Player

With this configuration you will typically have the Raspberry Pi connected to a TV or large monitor and a source of videos/music/photos etc you wish to play (i.e. Internet/hard-drive/local network etc).

DesignSpark have written an article on this, which is worth a look, DesignSpark - Raspberry Pi goes to the movies

You can download an installer from www.raspbmc.com which will install to your desktop (IOS, Windows, Linux) and write the latest install to your SD card. You then boot your Pi with the card and go through the config steps.

There is a breif video basic tutorial here: http://www.instructables.com/id/RaspberryPi-Media-center-XMBC/

Reference needed - More information is needed on specific configuration choices for raspbmc, although raspbmc.com does have a wiki.

Play Games

While there are not any commercial games for the Raspberry Pi (yet) there are plenty ways to play games on it.

Many distributions will have games built into them, and some may well support emulation of other platforms so you can run those games.

Also, a lot of Raspberry Pi users will be writing simple games which will be available for others to enjoy (and if desired added to or modified).

Reference needed - game section is empty at the moment!

See the Games Section for more details


Introducing Young Children To Computers

Reference needed - some kid friendly and fun stuff!


Teaching

There is a huge number of groups, links and resources available within the Education section.

Reference needed - links to the learning pages, education links and school/university groups


Learn To Program

There is a huge selection of programming languages which you can use to write interesting programs, games, applications and utilities. There are also more great links within the Education section.

There is a huge selection to choose from (not just Python...) which should suit any ability and a range of purposes.

If you are new to programming, there are plenty of tutorials for getting started in the Tutorials Section.

Books about programming can be found in the Books Section.

In the latest Debian, Python (+Pygame) and MIT Scratch are pre-installed.

Reference needed - links to the learning pages, recommended books?

Interface With Hardware

  1. Interfacing with Arduino
Reference needed - links to basic circuits tutorials and expansion boards

Word Processing/Internet Browsing etc

Yes, the Raspberry Pi can do the majority of the dull stuff too which other computers do.

Debian currently comes with Midori installed for web browsing and word processing programs be installed rather easily.

  • Entering "sudo apt-get install chromium-browser" into a terminal will install Chromium which is generally a faster and more featured browser than Midori
  • Entering "sudo apt-get install openoffice.org" into a terminal will install OpenOffice.org, a free Microsoft Office-like application suite
  • Entering "sudo apt-get install abiword-common" into a terminal will install AbiWord, a lighter weight but still fully functional word processor
  • Entering "sudo apt-get install gnumeric" into a terminal will install Gnumeric, a lighter weight but still fully functional spreadsheet
 More information needed

Your Own Pet Project!

The sky is the limit really, with some time and effort any number of projects can be achieved.

Even if you don't have the skill to do it yourself, you can join like minded people by getting involved with one of the numerous groups in the Community Section, also within the Education pages or learn what you need in from the Guides & Tutorials sections.

Of course, if you do anything interesting then please let us know in the Projects section.

Living Without RPi

Even if you do not have any Raspberry Pi hardware there are a number things you can do to learn about linux, programming or even controlling hardware.

Using Linux

You can install a version of Linux on most computers, and many you will be able to "try out" Linux by using a "Live CD" - this will start your computer up running from a CD or DVD and run Linux (without installing anything to the computer itself).

RacyPy - This is a simple LiveCD of Puppy Linux which includes some basic programming languages and a light-weight graphical user interface (GUI).

You can get it from here:

teampython RacyPy

Trying Programming

Many of the programming languages you can use on the Raspberry Pi can be installed on a Windows or Mac machine. Just visit the websites of the languages you are interested in and see if they have an installer for your operating system.

Controlling Hardware

As discussed in the Easy GPIO Hardware & Software tutorials, there are lots of alternative hardware you can use to experiment with (some as little as $5).

About This Page - For Contributors

The intention of this page is to provide a starting point for beginners and to direct them to the kind of information a person would need in order to start doing something useful or interesting with a Raspberry Pi.

It is not intended to contain or replicate much of the information already available on-line or elsewhere in the wiki, however please create new wiki pages and link them here if there is information beginners will find useful (similarly any section which grows too much here, should be separated into new pages as and when needed)!

At the moment building up ideas of content of typical things beginners will want to know and the kind of things they will want to do first.


References