Real Raspberry Pi - Getting Started And Custom NOOBS
Written by Harry Fairhead   
Thursday, 04 September 2014
Article Index
Real Raspberry Pi - Getting Started And Custom NOOBS
Customizing NOOBs
Common Customizations

Common Customizations

There are also some additional files and settings that allow you to control the installation.

For example the flavours.js file lists the different flavours of the OS that the user can choose between. For example, in the case of Raspbian you can opt for plain Raspbian or starting directly to Scratch.

There are a number of common customizations that are worth mentioning. 

1) Auto install 

Creating an automatic install SD card is just a matter of making sure that the only OS in the os folder is the one you want. Simply delete all of the others or copy the one you want into an empty os folder. 

If the OS has multiple flavours delete all but the one you want to install from the flavours.js file. 

Edit the recovery.cmdline file and add

silentinstall

to the end of the single line. 

Now when you boot from the SD card the operating system of your choice is automatically installed. 

Notice that this doesn't need a keyboard, mouse or even screen to do its job but if you try it without a screen remember that it takes a long time to complete.

If you follow these instructions for Raspbian then the OS boots into the setup screen.  

2) Customizing User And OS Details

 

If you look at the os.json file you will discover something like:

{
 "name": "Raspbian",
 "url": "http://www.raspbian.org/",
 "version": "wheezy",
 "release_date": "2014-06-20",
 "kernel": "3.12",
 "description": "A community-created port of Debian
              wheezy, optimised for the Raspberry Pi",
 "username": "pi",
 "password": "raspberry",
 "feature_level": 123900
}

 

You can change the username and password to anything you like.

Also you can change the name of the OS.

If you want to make the OS really look like something else then replace the Raspbian.png icon file with your own icon. You can also replace or remove the PNG files in the sildes directory with your own installer slides. 

3) Modify The Partitions

The details of what partitions to create are stored in partitions.json.

In the case of Raspbian two partitions are created by default one for the boot up and one, root,  for the system to use after boot. The boot partition is a FAT32 formatted partition and the root partition is a Linux ext4 partition. 

{
"partitions": [
  {
   "label": "boot", 
   "filesystem_type": "FAT",
   "partition_size_nominal": 60,
   "want_maximised": false,
   "mkfs_options": "-F 32",
   "uncompressed_tarball_size": 10
  },
  {
   "label": "root",
   "filesystem_type": "ext4",
   "partition_size_nominal": 2450,
   "want_maximised": true,
   "mkfs_options": "-O ^huge_file",
   "uncompressed_tarball_size": 1959
  }
 ]
}

 

To change the partitions created all you need to do is edit the partitions.json file.

You need to specify the partition size and the size of the file that results when you uncompress the tar file. This has to be in MBytes and rounded up. For example, if the root.tar file expands to give a file 1958, 103, 040 bytes then the uncompressed_tarball_size has to be set to 1959. 

You can create additional partitions and format them using the mkfs utility and supply the command line options using the mkfs_options field. 

You also need to change the line

partition=2

in the recovery.cmdline file to indicate the number of partitions you are creating.

Also notice that if you set want_maximised to yes then the remainder of the disk will be used for that partition.

The main reason for modifying the partition specification is if you install a new package or modify a configuration file so that the partition has to be made bigger or smaller. 

If you add a partition then it is up to you to get the OS to make use of it. Notice that the "label" field specifies the tar.xz file to expand into the partition.

4) Modify Country Settings

You can set the keyboard and language in the recovery.cmdline by changing the lines:

lang=en
keyboard=en

to whatever two letter country abbreviation you want.

5) Modify Default Video Output

Simply edit the recovery.cmdline file to read

display=n

where n is the number of the display you want to use 1= HDMI, 2=HDMI safe mode, 3= composite PAL and 4= composite NTSC.

6) Disable NOOBS Splash Screen

After you have gone to all the trouble of customizing your OS the last thing you really want is for the NOOBS splash screen to appear and offer the user the chance to install something else (even if there isn't anything else).

You can stop this happening and boot directly to a particular OS by adding a file called autoboot.txt in the root directory of NOOBS containing:

boot_partition=p

where p is the partition number of the boot partition for the OS. 

You can find out what partition number the boot partition is by using the command:

sudo fdisk -l

if you have only installed a single OS it will be the only FAT32 partition. In the case of Raspbian it is usually:

/dev/mmcblk0p5

that is p=5 and the line required is

boot_partition=5

Conclusion

Getting started with the Pi is easy enough. What is slightly more difficult is customizing it so that others can get started even easier!

NOOBS is an easy way of creating custom systems but it isn't lightweight. 

If we have omitted any common customization then let us know using the comments.

Next time we discover how to make a custom OS image with no extra space taken on the SD card. 

 

 

Real Raspberry Pi

Chapter

  1. Real Raspberry Pi - Why Pi?
  2. Getting Started And Custom NOOBS
  3. OS Images And Custom Images


pibp

More Information

Raspberry Pi Foundation

NOOBS On GitHub

 

Related Articles

Real Raspberry Pi - Why Pi?

Mathematica 10 Now On Raspberry Pi         

New Raspberry Pi B+

Raspberry Pi Goes Commercial    

Raspberry Pi Gets A $25 Camera

 

Banner
 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.

 

Python

 



 

Comments




or email your comment to: comments@i-programmer.info

 

 



Last Updated ( Friday, 19 September 2014 )