RPi Beginners

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. 

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
Reference needed - links to basic circuits tutorials and expansion boards
 * 1) Interfacing with Arduino

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=