In this guidance on NOOBS you will find everything you need to know to get started in the Raspberry Pi distribution launcher for beginners. NOOBS offers us the advantages of multi-boot on the Raspberry Pi, compatible with all versions. In NOOBS are all official operating systems for Raspi in a single package so you can use the one you want from a single SD memory card and without making drastic changes in it. All in a simple way and choosing the OS you want at all times according to your needs.
NOOBS stands for New Out Of Box SoftwareThe word "noobs", although you will also have noticed that it coincides with the English word "noobs", which means beginners or novices and which is used a lot in computer jargon. This double meaning is intentional, on the one hand they try to convey the purpose of the project and on the other hand its simplicity and ease of use (several operating systems of your choice, no formatting, downloading new images, installing them, etc...).
Operating systems included in NOOBS
In the previous versions, all operating systems were included in the NOOBS offline versionwhile in Lite, you had to download the ones you wanted via the Internet. As of version 1.3.10v released in September 2014, the offline installation version unfortunately only includes Raspbian, while it gives you the possibility to install the other official operating systems over the Internet, so you will have to connect a network cable to your board while NOOBS is running.
What are the other current operating systems in addition to Raspbian OS? Well, the Raspberry Pi Foundation integrates as part of the project 2, NOOBS and RaspbianOS, but luckily, you can install other third-party from NOOBS (and many more you'll find in our post on operating systems for the Pi) as:
- Raspbian is the recommended option, since it is a Linux distribution based on Debian Wheezy specially designed for the ARM architecture and with Pi Store to download a multitude of applications for the Raspberry Pi. Being based on Debian, its packaging system is DEB, obviously.
- LibreELECIt replaces OpenELEC, another quite similar system that was integrated in earlier versions of NOOBS. It is another distribution especially designed for multimedia content. We have already explained on this website how to create a multimedia centre with Kodi.
- Raspbian Liteis a version of Raspbian without the Pixel graphical environment and much less heavy.
- Lakkais a complete console emulation system.
- Data PartitionAdd a 512MB empty ext4 partition to the partition layout.
- OSMC (formerly RaspBMC) is a distribution based on two basic pillars, Debian and Kodi. So you can have a Media Center on your TV or transform your TV into a brand new SmartTV with access to multimedia content, games, applications and Internet.
- RecalboxThe perfect mix, this is a distribution that unifies a retro game emulation system with a complete media centre system.
- Windows 10 IoT is Microsoft's proposal that is compatible with the Pi. Although it is not open source and is limited, its relationship with Azure can open up many possibilities and the foundation has integrated it as an alternative.
Currently the Raspberry Pi Foundation has added other official operating systems for individual installation. You can find new images such as Raspbian, Ubuntu Mate, Snappy Ubuntu Core, Windows 10 IoT Core, OSMC, LibreELEC, Pinet, Risc OS and the Weather Station.
Alternatives to NOOBS
You may be familiar with BerryBoota good alternative for NOOBS which has some advantages over NOOBS, such as occupying only about 30MB (instead of 1GB like NOOBS), that it allows to install the operating system from USB (although you need the SD inserted) and remotely via VNC, recognises remote controls via CEC and allows to clone installed partitions to create backups and to be able to experiment without fear. Despite these advantages, it has disadvantages compared to NOOBS and these are that it does not include the latest versions of the operating systems (although it also makes unofficial systems available) and that the WiFi configuration must be done in BerryBoot and then again in the OS.
If what you want is a multiboot with various operating systems and you are a more experienced user, you might be more interested in BerryBoot. But if all you want is ease of use and official operating systems, NOOBS is more than enough.
Another option is that only use a single operating systemIn that case you will not be interested in this multiboot and you can choose to install only the operating system you want on your SD or have several SDs with a different operating system each one installed with the usual procedure.
NOOBS Version 2.2.0 (27-02-2017)
With Raspbian for offline installation.
NOOBS LITE Version 2.2.0 (27-02-2017)
Only with the option to install connected to the network.
- uSD card of 8Gb or more with NOOBS pre-installed or empty. Remember that if you download the Lite version you will have to do all the installations online. The NOOBS offline version will only allow you to have Raspbian offline, while the rest have been removed from the new version and are only available by downloading them from the network.
- A computer running Windows, Mac OS X or Linux.
- Raspberry Pi in some of its versions.
If you choose to purchase the SD with NOOBS pre-installed in our shop, you will not have to go through the steps of preparing the SD below, you can go directly to the first start section.
Installation from Windows
Once you have downloaded the NOOBS ZIP file from the official website, proceed as follows:
- Format the SD using the application SD Association's Formating Tool or directly with the Windows formatting options. To do this, go to Computer (My Computer) with the SD card inserted in the slot of your PC and right-click on the drive corresponding to the card. Click on Format and leave the default values (it should be FAT as format), if you wish you can write a volume label name.
- Unzip the ZIP file by opening it and dragging the contents to the SD. If you use compression/decompression software, you can choose the extract option when you open the ZIP file and select the SD as the destination.
- Once you have done this, you have NOOBS installed, you can now safely remove the SD card from the PC slot and insert it into the Raspberry Pi.
Installation from Mac OS X
If your operating system is OS X, you can also opt for the SD Association's Formating Tool available for Mac, or do it from within the system:
- Insert the SD card into your Mac.
- To format the SDClick on Applications inside your Mac's hard drive and go to Utilities. Click on Disk Utilities and the application launches. Select the SD icon and click on Delete. If you want, you can give it a name. Choose the FAT format option in the Format drop-down menu and finally click on Erase (which appears in the bottom right corner). Now confirm that you want to delete in the pop-up window.
- You wait for the process to complete and it's ready to go. unzip the ZIP content and save it in it. You can then remove the SD card and insert it into the Raspi.
Installation from GNU/Linux
On the other hand, if you are a linuxero, you can do it by various methods and programs. One way is via the parted command from the terminal, the other more graphical way is from the GParted program:
- Start GParted with our SD inserted. Enter the root password that we will be asked for.
- In the top left menu we choose the SD (in my case it is /dev/mmcblk0). Here you will see all the partitions of your system, choose well.
- Disassemble the SDYou can do this from the GParted menu by right-clicking on it and then clicking Unmount. Or you can also use the traditional terminal method to unmount a device.
- Now in the main window we go to the partition or SD partitions that will appear and click Delete on it/s to delete them. If it is a new SD, only one partition should appear.
- Now click on the unallocated space that has been generated and select New to create a new partition.
- In the pop-up window you select the FAT file system and leave the other options as default. You can type in the Label name if you wish.
- Finally we confirm by clicking on the green icon (tick) at the top. We will be warned that all data will be deleted, we accept and wait for it to complete.
- Now only unzip the NOOBS ZIP file and save its contents to the SD card. Remove the SD card and insert it into the Raspberry Pi.
First boot and operating system selection
The first thing we will look at is the NOOBS main menu when you boot up your Raspberry Pi. The Recovery Tools screen will show you the operating systems available in the version of NOOBS you have downloaded. You can also select the language in the Language menu and switch to English.
To start using one of available operating systems (remember that in the new versions of NOOBS only Raspbian OS is available for offline use, the rest you must download to install them), select the one you want and press ENTER or the Install button that appears. To switch OS you just have to press the Shift key when starting the Raspi, which will also give access to the edition of the config.txt file to modify certain parameters of the currently installed distribution (screen resolution, overscan, etc...). In addition, the new NOOBS menu also gives you access to the Internet thanks to the integrated Arora browser. It is a web browser based on the QtWebKit engine and it is practical to consult information before even having a distro installed... For example, you can use it to access the official website where you will find a PDF with the NOOBS instructions that will help you, or also to consult this post when you want, and even access the source code of the project at GitHub.
Thanks to a partition management systemNOOBS is able to save users and settings so that you can switch back to the previous operating system and retrieve them without any problems. Now you can have fun with NOOBS.
When you start Raspbian for the first time, remember that under the login:
- Username: pi
- Password: raspberry
You can then change them to whatever you want. And to start the graphical system, type in the terminal:
Advanced configuration with config.txt
The file config.txt (it will be located in the /boot directory and can be edited by root) is read by the GPU before the ARM CPU starts, you know that Raspberry Pi starts with the GPU first, the opposite of computers, where the BIOS/EFI starts the CPU first and then loads other hardware devices with the help of the CPU.
The file format is simple, its syntax basically consists of comments starting with # that give information about the code, and the configuration options themselves. The format is option=valueThe option will designate the parameter to be modified, and the value could be either a number or a text string to set the parameter.
For example, the option gpu_mem you can set the size of the SWAP that the Linux distro will use from the SD card where it is installed. For example, if your Raspberry Pi has 256MB of RAM, you could set a value of 192MB for SWAP with gpu_mem_256=192, while if the Raspi is 1024, the above option would be ignored, and the correct setting is gpu_mem_1024=192.
Other generic options that can be varied include disabling the CPU's L2 cache memory, which I don't recommend. But it could be done by adding to the text file the option disable_l2cache=1. If you want to activate it, disable_l2cache=0. We can even modify the setting for the RAM refresh that is done every 500ms with the disable_pvt option by setting it to "1" to disable it or "0", which is the default value. It is only convenient to disable it (set it to 1) in case we want to lower the RAM temperature for some reason.
Although we are going to look at some more complex case studies below, here is a list of some of the most important ones. the most striking options:
- disable_camera_ledif 1 is set, it deactivates the red LED on the camera during video recording or image capture.
- pwm_sample_bitsSets the output analogue audio depth in bits. For example, it defaults to 11, but can be changed to 8.
- sdtv_modedefines the standard TV modes. A value of 0 corresponds to NTSC, 1 for the Japanese version, 2 for PAL, and 3 for the Brazilian version of PAL.
- sdtv_aspectvaries the aspect ratio of the video output. 1 for 4:3, 2 for 14:9 and 3 for modern 16:9 screens.
- hdmi_safeIf you have had problems with the HDMI connection, you can try the safe mode by setting this option 1. That is, with hdmi_safe=1 we make the boot to be done with the maximum compatibility mode for HDMI, although this limits some features.
- framebuffer_width y framebuffer_depth specifies the pixel size of the framebuffer, i.e. the Linux driver for displaying some simple graphics in console when working in text mode.
- test_modeThe default is 0, but if you set it to 1 it will make some test sounds and display an image to perform a basic test of the systems during startup.
- kernelYou can boot a different kernel than the default kernel, i.e. kernel.img. Just write the path or its name.
- boot_delayyou can specify a number of seconds to wait in start.elf before the kernel starts loading. By default it only waits 1 second.
- force_turboIf 1 is set, this disables the dynamic frequency mode for the CPU, which makes it hotter and more power consuming, but could be interesting for those who want to try overclocking or underclocking. All these options should be used with care if you don't want to damage the chip.
- More options on Raspberry Pi Foundation.
NOOBS offers many more options than that. Now let's look at some practical cases of this type of options for advanced userssome of them very interesting:
Installing an operating system automatically
NOOBS can be configured to install an OS without user assistanceeven if you do not have a screen or keyboard on your Raspberry Pi. To do this, follow these steps:
- Copy the directory of the operating system you want to install into the /OS directory of the SD with NOOBS.
- Edit the file flavours.json if there are several different flavours available so you can just install the one you want.
- Edit recovery.cmdline of the NOOBS root directory and add the argument: silentInstall
Now when you insert the SD card into the Pi and boot up, it will automatically install the operating system of your choice without your intervention.
Create a customised version of the O.S.
You can modify the standard operating system to customise it through NOOBS. This is good for those who want an operating system with a number of pre-installed packages or files, etc....
- Go to the /OS directory of NOOBS and copy the folder of the operating system you want to modify. Change the name of the copy created in the /OS folder to a name of your choice.
- We edit the os.json
- In this file, we modify the fields "name" where we put a personalised name and "description".
- We can now replace the PNG images of the operating system to customise them, modify the fields we want from partitions.json to modify partitions, add .tar packages, etc...
Change the default language
The default language of NOOBS is English, but we can easily change this:
- We edit recovery.cmdline.
- In the field "lang =" we can select our language. Remember that EN stands for English, ES for Spanish, DE for German, FR for French, etc...
- The "keyboard = " field allows you to select the keyboard layout. As in the previous case, English is ES, others are US for United States, DE for German, etc...
- The "display = " field allows us to select the display mode, you can leave this as it is. Same with "partition = " for the number of partitions you want.
Force boot from a specific partition and avoid NOOBS Splashscreen
You can select a partition to make the Raspi boot from the SD from a selected partition, without having to go through the main NOOBS menu every time you boot.
- Add a text file called "autoboot.txt" without quotes to the NOOBS root directory.
- To do this, you can use the command: "fdisk sudo -l" from the console and it will list the available partitions on the SD card. If, for example, the partition we want is /dev/mmcblk0p3, the number we will use in the next step is 3. You should skip the FAT32 partitions, as you may have other partitions on the SD that do not correspond to NOOBS systems.
- In this TXT, we edit the content and add the following line and save it:
boot_partition = .
Remember that if you want to change the operating system or the NOOBS menu to return to normal, you can only return it to normal by deleting or renaming the file autoboot.txt created. This way the Raspi will ignore it.
- It does not detect the Shift key in the main menu: only press the Shift key when the grey splash screen is displayed and not at start-up.
- Boot in safe mode: to boot in safe mode, without the NOOBS GUI, you must append rescueshell to the argument list of the file recovery.cmdline which you will find in the root directory. You have to jumper the GPIO pins 5 and 6.
- Using GPIOs to enter safe modeif we don't have a keyboard or the Shift key is not detected, we can add gpiotriggerenable to the argument list of recovery.cmdline and reboot. To start safe mode, connect GPIO 3 to pin 25 (GND).
- Disable the graphical start of NOOBS: If we are having problems starting the NOOBS GUI, we can manipulate the way NOOBS starts so that it does not start from the GUI. To do this we edit recovery.cmdline and add the input (e.g.: display = 1 or display = 3,...):
- display = .
I hope this post has been helpful, don't forget to leave your comments with questions, suggestions, etc...