Initial Configuration
The first time the system is booted a menu type utility will automatically run. (raspi-config). This utility will help you get some basic configuration taken care of.  The utility may be a bit '90's 'DOS' like, but believe me it is way easier than trying to do these tasks manually.
Note: These configuration settings can be done now or you can wait and do them later at anytime. But remember that after the first boot, this utility will no longer automatically run. To run it again you  need to type this command at a terminal prompt:
    sudo raspi-config
Use [Tab] or [arrow keys] to navigate, [Spacebar] to select / un-select, [Enter] to choose.

Raspi-Config Settings:
The items below marked with * are things that every user might want to do right away. Others can wait till later.

* Expand_rootfs (
Expands boot partition to fill SD card):
The default is 2GB which will be mostly full with just the image. You need to do this to have room for other things.

Change settings here if the image on your monitor is not displayed properly. Text off the edges, try different settings

* Configure_keyboard:

The default seems to be UK where # (shift 3) prints the British pound symbol:   and the \ key prints # etc.
If you don't have one of the exact keyboards listed then select one of the generic keyboards. 101 or 104 etc. Next menu you will be asked for language where you can select US. After that the [shift 3] key will work as #.

Change login password.

* Change_locale:
Select location where you are and un-select any you don't want.
US users should select : en_us.UTF-8 UTF-8
(en = English)
Be sure to scroll through all choices and un-select any you don't want.

* Change_Time Zone: Must be set correctly for your location. Note that when you have a network connection then the time and date (but not timezone) are automatically set.

Adjusts memory split between main system and graphics.

Change cpu clock speed. Use with caution may not work with all SD cards.

enable or disable ssh.  ssh is remote login to a console. (For full GUI remote desktop see RDP page )

* Boot_behavior:
Most will want the system to boot into the Graphical User Interface. (Windows like interface)
This setting will automatically login and start the GUI at boot instead of having to type: startx
Note if you want to have the GUI automatically start but you still want a user/password login prompt then see below.

Updates the raspi-config utility

Other configurations not in raspi-conf:

Automatic start of GUI with login (username and password prompt)
If you have GUI startup set to start on boot but you still would like to login manually then do this:
sudo leafpad /etc/lightdm/lightdm.conf

Find this line: (approximately line 78 in file)

Comment out this line by inserting a # like this:

Save and exit then reboot

Sound Configurations and Hints

Default sound is from HDMI (If HDMI is connected)
No Analog Sound from 3.5mm audio jack

To enable sound chip:
 (Note sound is already enabled on later OS versions)
      sudo modprobe snd_bcm2835

 The set volume and mute controls:
        sudo alasamixer

Default mode auto sound:
       sudo amixer cset numid=3 0

To force sound out the audio jack:
       sudo amixer cset numid=3 1

To force sound out with the HDMI:
      sudo amixer cset numid=3 2

Note that there is a space before the last number in each command....... numid=3[space]0

To play a wav file from the command prompt:
    aplay filename.wav
    aplay /usr/share/sounds/alsa/Front_Center.wav

To get MIDI playback
(Note this will get the Tetris and some other games working in the Python games collection)
      sudo apt-get install timidity

To get MP3 playback:
      sudo apt-get install mpg321

Trouble with omxplayer

set the -o output for 3.5 audio jack

    omxplayer -o local

set the -o output for hdmi

    omxplayer -o hdmi