This project work was carried out using LINUX to build a customised Operating System (OS) for Raspberry pi. Customization of operating system for Raspberry pi is a way of eliminating some things in the default build of the OS. Using raspberry pi to build a customised operating system explains how operating system can be customised and at the same time avoid problems of achieving satisfactory levels of system performance and reliability when operating systems are built in mini computers. Raspberry pi is a smali-sized computer system with a lot of benefits such as: strong processing power in a compact board, several interfaces (HDMI, multiple USB, ONBOARD Wi-Fi and Bluetooth), support for many languages (e.g., LINUX and python) among others.
Raspberry pi is a credit-card sized computer which was designed and manufactured in the United Kingdom by the Raspberry Pi foundation under the major intention to disseminate computer science knowledge to school students and every individual interested in computer hardware, programming and Do-it Yourself projects.
This computer comes with a Broadcom BCM2835 system on a chip (SoC) which has ARM1176JZF-S 700MHz processor, VideoCore IV GPU and chipped originally with 256 megabytes of RAM which was later upgraded to 512MB. However, it does not have built-in hard disk or solid state drive. It uses an SD card for booting and persistent storage.
Raspberry pi has gained attraction from millions of people around the globe because it is very cheap to come by. Many peripherals and accessories (such as: USB hubs, motor controllers, temperature sensors amongst others) have been created for the system by different enthusiasts. It has a combination of the features of a traditional computer and embedded devices. It supports operating systems (OS) like Linux and python amongst other OS and provides simple input/output lines (that is, the GPIO makes it perfect for controlling just anything). To program GPIO is much easy and intuitive than any traditional FPGA or microprocessor.
SD card with embedded Linux operating system with a default build was inserted into the laptop card reader. Then terminal of Ubuntu operating system was entered into and the directory was changed to the local directory from where BuildRoot directory was entered into with the following commands respectively:
“cd Code”
“cdBuildRoot”
From the BuildRoot directory, the “configs” directory was entered into using the command written below:
“cdconfigs”
In the configs directory, the list of directories and files there were demanded for using the command:
“ls”
A list of folders were brought out, after then, the command below was typed:
“gedit+raspberrypi_defconfig (the name of file to edit)”
And the figure below came out and the name “raspberrypi” was changed to “ALABIADEWALE”.
And “Welcome to Bsquask SDK” to “welcome to M04CDE” as shown in Figure 1 and 2.
This file was then saved. Then the directory was changed back to BuildRoot and another Makefile was generated for the SDK using the following command:
“makeraspberrypi_defconfig O=$BSQUASK_DIR”

Figure 1: Raspberrypi_Defconfig Folder Before Editing

Figure 2: Raspberrypi_Defconfig Folder After Editing

Figure 3: Raspberrypi Image After Editing
This ‘make’ process this time around took about three minutes to complete. After this ‘make’ stage, SDK directory was changed into with the command below:
“cd $BSQUASK_DIR”
And SDK was built using the command given below:
“Make”
This process took less than fifteen minutes this time for the image to be built.
After this stage, embedded Linux operating system has been built and the generated image was now installed on the SD card following the procedure given below.
Using the Generated Image on the raspberry Pi
SD card was inserted into the card reader of the laptop and in the ‘gparted’ environment in the Ubuntu O.S., it was formatted and put in the following partitions:
75MB fat32 partition
3.6GB ext4 partition
After this, the directory of the images generated was entered into with the use of the command:
“cd/opt/bsquask/images”
The two partitions created were: “/dev/mmcblk0p1” and “/dev/mmcblk0p1” respectively. This two partitions were mounted using the command below:
“sudo mount/dev/mmcblk0p1/media/BOOT”
“sudo mount/dev/mmcblk0p2/media/rootfs”
Then the following commands were used to install the rootfs on the SD card:
“sudoumount/dev/mmcblk0p1”
“sudoumount/dev/mmcblk0p2”
The SD card was then removed from the card reader and inserted into the raspberry pi.
The raspberrypi was then ready for use with its own customised embedded Linux operating system.
The raspberrypi was now connected to the monitor and other devices (e.g.: mouse, keyboard, piView,VGA cord) and it was powered on and after it booted, the names and logo in the Figure 3 came out.
With the Ubuntu operating system on the laptop, with a ready Bsquask SDK for raspberrypi, the directory was changed to ”/opt/bsquask” from where another directory known as: “host” was entered into and from there into another one known as: “usr” was entered into and also, from there another one known as: ”bin” was entered into with the command shown below:
“cd/opt/bsquask/host/usr/bin”
In this directory, a command:
“sudonanoHellowale.c” was typed
After pressing “enter key” the above command brought out the text editor as shown in Figure 4.
A simple c program was then written into the text editor as shown below:
#include<stdio.h>
Int main (void){
Printf (“Hello world \n”);
Return o;
}
Then, on the system “ctrl+x” was pressed which brought out an option of “yes or no”. After pressing an option of “yes”.
Figure 5 showing folders and files after compilation was displayed.

Figure 4: An Image Showing Text Editor

Figure 5: An Image Showing Files and Folders
Raspberry Pi. Raspberry Pi. 2013. http://www.raspberrypi. org/.
Nichols, A. Bsquask SDK. 2013. http://www.bsquask.com/ blog/2012/12/21/bsquask-sdk/.
Ibanez, L., and Maclean, A. Cross-Compiling for Raspberry Pi. 2013. http://www.kitware.com/blog/home/post/426.
Buildroot. The Buildroot User Manual. 2013. http://build root.uclibc.org/downloads/manual/manual.pdf.
Robert, S. How to Create a Buildroot Environment for Raspberry Pi. 2013. http://www.xappsoftware.com/word press/2013/06/06/how-to-create-a-buildroot-environment-for-raspberry-pi/.