What is raspi-config?

Raspi-config is a configuration tool that you should always run on any new Raspberry Pi before you do anything else, it does things like expanding the filesystem to take up the whole SD Card which means that if you put a 32GB card in your Raspberry Pi but don’t follow these commands you will only use a tiny amount of that space and quickly run out of storage space.

How do I use it?

Very simply, after you start raspi-config you just need to know how to move around the menu as you won’t be able to use your mouse to point-and-click as you might be used to.

  1. The up and down arrow keys will move you up and down the menus
  2. Pressing enter on an item that is coloured red will select that option
  3. Pressing the tab key will move between different elements on any particular page, so you will definitely need to use it when you’ve finished because you will want to select the option <Finish>

But don’t worry about it, It will become more obvious as we go through the process.

Show me How!

First we need to ssh into our remote Raspberry Pi, doing this is outside the scope of this post but I covered it in another post called Generating SSH Keys. Once you are logged in to your Pi, invoke the following command to start raspi-config:

sudo raspi-config

Invoke Raspi-Config

Helpfully first task we want to accomplish is already highlighted for us, simply press the Enter key ↩ to select the Expand Filesystem option.

Expand Filesystem

The screen will go white for a few seconds and when the process has successfully been completed you will be shown this screen with the word <Ok> highlighted, you just need to press the Enter key ↩ to return to the main menu.

Filesystem Expanded

The next thing we are going to do is change the default password from raspberryto something more secure, so press the Down Arrow ↓ once until Change User Password is selected and then press Enter ↩.

Begin Password Change

You’re going to be asked on the next screen to provide a new password for the current user, which in this case is the default pi. Just hit Enter ↩.

Password Interstitial

Now it is time to pick a good password, I recommend you use four short words with spaces in between which makes an easy to remember but very strong password. When you are typing in your new password you won’t get any feedback from the Terminal, when you finish typing just hit Enter ↩.

Entering New Password

To make sure you’ve got the right password, the program asks you to retype it. Do this and then hit Enter ↩.

Retyping New Password

After that process has finished we find ourselves back at the main menu.

Mean Menu

Use the Down Arrow ↓ until you reach option number nine called Advanced Options, once it is highlighted in red press the Enter ↩ key to select it.

Advanced Options

You’ll find yourself in a new menu, from this menu the first thing we are going to do is change the Hostname of the Raspberry Pi. The Hostname is the name by which your devices known on the network, the default is pretty boring so we are going to change it to Wi-Pi. So use the Down Arrow ↓ until the option Hostname is selected in red and then press Enter ↩ to select it.


Page you will see some instructions about which characters and digits you can and can’t use when creating your new Hostname, you don’t have to use wi-pi, you can use anything you like but I just thought that name was funny. You will see that <Ok> is already selected so by now you know to press Enter ↩ to select it.

Hostname Instructions

This is what the default Hostname looks like, we are going to change this:

Default Hostname

Puns are always best, so obviously I went with Wi-Pi, see what I did there?, See it, funny right?1

New Hostname

After you’ve chosen your amazingly funny new Wi-Fi name, hit the Tab key ⇥ and select <Ok> then press Enter ↩.

Click Okay

Here we are back on the main page, select the Advanced Options option again and press Enter ↩.

Advanced Options Again

We now want to choose Memory Split from the following menu and press Enter ↩.

Selects Memory Split Option

This option decides how much of the GPU is used to process graphics on the Raspberry Pi, you can devote as much of it or as little of it as you want to the GPU. It’s my understanding that if you don’t devote it to the GPU then it is available for processing by your Raspberry Pi thus allowing you to do more things with it. Seeing as we are not going to be doing anything that involves graphics we are going to set this to a very low number.

you can see the default is set to 64.

Default Memory Split

I chose 16 just in case I had to log into VNC session or anything like that, Sees the backspace key and delete the number 64 and replace it with the number 16. You can technically choose 0 here, but that caused some unexpected results for me that you could probably do without.

Choose Low Memory Split Number

Here we are again, that’s it the Tab Key ⇥ followed by Enter ↩.

Pressing Tab and Enter

This should be the last time we returned to the main menu, go ahead and select Advanced Options again and press Enter ↩.

Advanced Options Again

Use the Down Arrow ↓ key to select the option SSH and then press ↩.

Select SSH Option

We most definitely do want the ssh server to be enabled, so we hit the Tab Key ⇥ followed by Enter ↩.

Would you like to enable SSH

Yayy! SSH server successful enablation! Press Enter ↩ to go back to everybody’s favourite main menu:

SSH Enabled

That’s it, we are finished, all you need do is press the Tab Key ⇥ until the word <Finish> is selected followed by Enter ↩ to move to the next menu.

Main Menu Again

The answer is definitely <Yes>, so just press Enter ↩.

Would You like to Reboot

All done, you will be automatically logged out of your Raspberry Pi and dropped back into the shell on your local machine.

Back on Our Local Machine

All done, we are now logged out and let’s take my favourite command and type the word clear) to get back to a nice clean Terminal to start the next job.

Clear the Decks Batman

Mmmmmmm, All clean and shiny, just the way the command line should be!

Clear the Decks Batman


  1. No, really?