 Yes, welcome back again. So I will just give you a brief introduction to the hardware. You may be unaware of the hardware, Bigelboard. Bigelboard is just like nothing like just like a small computer where we have an arm controller which is a Cortex-A8 and a DSP processor by TI that is 3035. Okay, so the major processing for example audio video, you need to process a lot of this audio video files, isn't it? So how do you do? Who does that? Of course the Cortex-A8 can also do that because it's again a multi-pipe processor but we need a special video to support, HDMI video to support or S video. We have the DSP processor over here. So I will show you basically what are all these things. So you have the USB ports, all these are USB ports, you have the Ethernet port, you have the serial port, all these are peripherals and all these peripherals are on the Ios of the controller. So you must be aware of a microcontroller, right? So A8 is an arm microcontroller which is a 32-bit controller. Now basically this, as I mentioned earlier that this is small computer. So you can connect a keyboard, a PS2 mouse or sorry, a USB mouse or a USB keyboard and you can connect a S video connector over here and connect it directly to your televisions also. That is also one of the possibilities and you can connect keyboard and a mouse and then since this doesn't have a hard drive, what acts as a hard drive over here? The SDMMC card, the SDMMC card which has two partitions in which one you have the OS and the other is for user, usable for user. So if you write any applications, what do you do? You need to get all this application data from the user section or user sector to the OS. So you have to transfer the data back and forth. So who does it? OS does it, isn't it? So OS helps you to do these things, correct? So similar way in this board, the hard disk is nothing but our SDMMC card, right? So and it has other peripherals also. So if you see the serial port, if you want to connect to your PC for that matter, you can either connect it via the HDMI port because nowadays most of the laptops have HDMI port as well, isn't it? Or you can connect it to the serial connector and when you use serial communication, is there any program that you need to run to see what is going on in the on serial communication? Some terminal you need, isn't it? So either earlier we used to call it hyperterminal or there are various free freely available terminal programs like serial port monitors or you can use Minicom that we use in Linux, on Linux. So you can use this to communicate to the controller, isn't it? So that's how we are going to see, I think Devesh is going to just brief you about how to start up, what we need to do, how we need to install our OS onto the SDMMC card and then how do we move forward. So some basic steps is going to show you. So you can get familiar with how to go about installing your OS onto the SDMMC card moving ahead. And the next box on the laptop on which Linux is running, it has the micro SD card over here and now I was talking earlier that if you plug in a device it is going to come as a new device. So how do you figure it out that which device has been attached? D-message is basically it gives you the any events which has happened in the kernel. So kernel has a logging facility which logs into some buffer and you display that buffer that contents of the buffer using D-message. So this is the command. So if you look at the end, you see the direct access generic USB SD reader, can you see here direct access this one, this whole line, it's there. So now what it is saying is that there is Linux operating system like kernel has identified that there is a USB card reader has been attached. Now what we are saying is that in the card reader, this is one device which has been attached to the system. So there is a driver already running on this. It has detected that this is the USB card reader. Now we have plugged in another micro SD card over here. So if you look at like more like down. So here you see that it is saying that it is a device, here it is saying that this is one SD device has been added and now it is calling it as a SDD. You can see that and if you want to see that how many disks are there, there is a command F disk minus L. So you can see that the SDA has been 95, SDA is basically partition SDA 1, SDA 2, SDA 5, SDA 8, that is not saying, okay. So I will first boot it and then I will just show that, yeah, I will go through meaning on. Okay I will show that what is the card, probably this card does not have the right partitions. So I will show it using this card but let us see first that how this card boots up and what is like what it looks like. So this card has in the slide we mentioned that there will be MLO file, then U boot and then your U image and then there is a root file system, okay. So just watch carefully, it moves pretty fast, this is the terminal basically Minicom is a terminal, the serial where you can monitor the serial, what is going on the serial console, so you can see that. So the Texas Instrument X loader is there, okay, so the loader which I was talking about, so what binaries you have burned on the card, the binaries you have burned is MLO, U boot and U image, right. But who is going to run this MLO, so this is the X loader basically which is basically flashed on this board itself, okay. So this and there is a driver for this card, okay, anything which is attached to card there need to have a driver, so driver detects that oh there is a SD card attached to this board, driver will go and check into the first sector and it will inform X loader that there is a MLO, X loader will start loading that, start executing that MLO, okay. So MLO now, so you see that reading boot sector, okay, now it is saying that U boot dot bin from NAND flash, then so see that here the MLO has been loaded, okay, now it is loading U boot, okay, MLO loads U boot and then U boots basically, U boots is saying that this is the hardware property, it is printing some of the hardware properties, okay, I2C is ready, DRAM is 256 meg, NAND flash is this much, in and out serial are there, board is board revision number, okay. So this is the U boot basically, U boot program is reading displaying information about this board, okay, and then it is saying that now U boot, the role of the U boot is load the U image, but before that it says give you option, but do you want to go into the U boot prompt, okay, if you want to go into the U boot prompt, you press the any enter button or any key, okay, and then like I, we talked about earlier, so this is the print, if I do the print ENV, it shows lot of environment variable which has, which can be set, like which are right now is set, okay, so you can see that, right, boot arg is there, so in boot arg, boot arg is basically the command which boot arg is the environment variable and when U image load itself, U image gets loaded, so this is the boot arg as a pass as a argument, that kernel should honor this, this, this, basically this is the input to the kernel image, that okay console is TTYS2, you should use, board rate is 115, like if you look at here, so it is saying that the console is TTYS2, board rate is 115200, no flow control, 8 bit and then it is saying that there is no unit RD, all these are Linux specific terms which when you play around with the kernel, you will come to know that there is a unit RD image, there is, so those things you will, on any Linux box, you go into the slash boot, slash boot directory and see there is, there might be some grub related information, so like you boot first time Linux box, so it says at which image you want to choose, so that is basically loader, grub, grub is a loader on Linux, generally all the flavors of Linux right now uses grub, earlier it was Lilo, but so this is, so this is kind of those information you are passing to this micro image, U image of the, U image which is kernel, basically Linux, Android kernel, so now I talked about that you can do set ENV, set ENV and let us say, like let us say that clicker, and then we say that now if you do print ENV, it will look at the last, at the end, this one, just now I saved one environment variable, this is why, this is how you can save any environment variable, like you can, but right now it is not written on the NAND flash, so like the minute I reset the board, it will all gone, this clicker and clicker 1, 2, 3 is all gone, so to save it what I do is that save ENV, and so it is writing to NAND done, so it is written now on the hard drive itself, like on the NAND flash of the board, so if I reset and now if I do print ENV, it is there, and at the end you can see right, I have reset the board, but still that variable which I said is still there, now I want to delete this, how can I do that, so then again we use just set ENV and clicker and I will not give it any value, so it will just delete that, now if I do save ENV, it is gone, you can see at the end there is no clicker this thing, so yeah and this variable root is basically the U image, this image the kernel image is built with this root equal to this option, so using this kernel knows that from where when U image is booting up, it knows that from where it has to pick up the root file system, now you can also see that there is a boot command and there you see that boot m and this is the address it has been given, so this is address boot m is this one this address is from where the U will kernel when you start loading the kernel, so U boot will load your image kernel image into the memory and then make CPU to jump on this particular address, so once CPU jumps to that particular address your kernel will start booting up, so if I just type and there are lot of other commands are there, if you type just help it will show you these many commands are there, this is just in the U boot, in U boot environment there are so many like what we used is print ENV, one of the command we use is this one print ENV, similarly there will be some save set ENV here you can see, similarly like if you want to run some commands you can use run command as well, so this is basically all your U boot environment, you use this but you have to be little bit careful and then if I want to boot the U image I just type boot, now it is saying that reading U image now I cannot stop it, so this is your kernel is booted, now if you look at so till now here till this before this part before this line, the kernel was booting by itself it is all kernel initialization but here it went to look for the root file system and it found that on this particular block this is android basically android terminology mmcblk0p2 and it is saying that there is root file system xd3 and its type is xd3 file system internal journal and recovery complete and everything it is saying and then so here you are and you can go to you can see that there are lot of files are there your ls command is working your cd command is working, so this is general environment you get, now if you so I told you right that using insmod you can load a kernel module and using rm mod, so this commands are there in this image, now I do not have a driver so that I can load it but you can see that insmod is saying that what is the uses you have to with insmod you have to provide the module name and rm mod also you need a module at which module you want to do and ls mod is basically you can see that what all drivers have been loaded what all kernel modules are loaded but right now we have not loaded anyone all the modules are basically all hardware drivers are built into the kernel itself, so you will not see that is there any driver right now but you can write your own driver put it into the root file system and when you copy it into the root file system and when you plug it this card you can check on this way change directory to whatever wherever you have saved in the root file system and you will get it everything, so is there any question or it is looks ok, so this is you can see that the normal Linux has been loaded using this SD card I will show you that what what this actually this SD card has because I cannot it is it is being used as a booting boot device like a normal hard disk which gets used as a boot device similarly we are using here as a SD card as a boot device now I will I will put that card I will I am taking out this card yeah I will and then I will show you through the Linux box that what what exactly is there in the, so you can see that let us go to terminal again like D masses will tell you that any device has been added or not, so you can check using D and here we can see that there is this device has been added and it has been mounted as well it has like kernel it is find out that this particular device has a root files like file system and it mounted already, so this is partition into two SDA, SDB 1 and SDB 2, SDB 1 contains your MLO, U boot and U image and SDB 2 contains all the root files system, so if you what all devices is mounted on your system use mount command and you can see that SDB 2 is mounted ok, so if we so this is your root file system which is available on this card ok and if but it has another partition will mount it, so you can see that, so that is MLO and U boot dot bin and U image and there are another files boot dot SCR and normal dot SCR that that is I am not basically on that side if you go on the beagle board side it will tell you that file that these many files you need to copy MLO U boot, so these these files are like give you two sides on beagle board side the Google beagle board side if you go there you will see that it is saying that you copy these files and it gives you the order as well but you need to copy MLO you need to copy then U boot then you need to copy basically U image then it says that copy RAM does then says that normal SCR and boot SCR, what does this boot SCR and normal SCR does all I am not aware right now, so it is probably for the booting from the windows terminal it requires probably this boot SCR and normal SCR not sure, so here U image here you can replace your U image you build your own kernel and replace this U image and then you can load it on using this card so and if you so first partition like so the steps are that you can it is mentioned on the side but you can this so you have this card you attach this card first is that like attach this SD card to any Linux box where you have build your kernel like cross compiled kernel for beagle beagle board then you the minute you attach this SD card it is going like Linux is going to show you that there is a device attached to this particular, so you need to partition that partition create like let us assume that this is this is recognized as SDB, so you create two partition SDB one and SDB two here this partition type is basically fat 32 and this partition type is EXT3FS the commands to create partitions is F disk okay and you can see the utility and itself you can create using F disk you can create partitions and then and to create file system on a given partition you can use MKFS and now if you want to use fat so you have to say MKFS VFAT and or MKFS dot EXT3, so all file system has there if you write a file system you have to provide a MKFS utility, so that only that particular file system understand that what is the format of this file system, so it creates this MKFS is a generic tool and this VFAT says that okay MKFS this is the MK you can create this particular VFAT FAT type file system using MKFS VFAT EXT3 similarly you have EXT2 or any other razor FS or any other file system is there there will be same MKFS for that. Now third step is that copy and first then you have to mount SDB1 and SDB2 fourth step is that fourth step would be that copy MLO uboot dot bend then UMS this is on SDB1 fifth step is that copy your root file root FS SDB2 these all steps are there on the side which I which we have mentioned in the slide you will get a copy of slide so and once it is done then like this UMS your cross compiled image and if there is any like if there is any came on then what I would do is that okay I will so if you so what here I am trying to do is that I am going to format this particular card and will show you that from very beginning like one steps now you have to do is that come download this MLO and uboot create your own kernel and then after that how to burn like how to write it on to this how to create a partition on this particular SD card and then how to run load it and that part I am going to I just copied I take it so right now I am going to format this particular like so what command I use I know that this particular device has been recognized as SDB so I am going to use FDIS utility to format it so I will just say that if you want to see that how many partitions is there so you can see that there is SDB 1 and type ID is said to see and SDB 2 its type is said to 83 basically this is the type of the partition you specify saying 83 is generally used for your boot partition so if you look at this column ID column so this is a saying that SDB 1 is of partition is of ID is C it means that it is windows fat partition and if you look at the 83 generally it is 83 is used as a boot partition like for root FS generally we use this partition type so the command on FDIS is P to list down all the partition command is D to delete the partition so it asks that which partition you want to delete you can specify so in Linux you can create four primary partitions Linux world you can create four primary partitions and each partitions can be further can be sub primary partitions can be created on each primary partitions so I have deleted partition one you see it is just SDB 2 and then I am going to delete and so it automatically selects knowing that there is just one partition left it will select it and delete it and then I am going to write so that is safe so now if I do again I will see that there is no partition okay so this is how the first time your card will be recognized as just simple one device now you want to create a partition so partition else and you can so you can see there is a primary part primary partitions it is saying that there is zero primary partitions zero extended partitions for free for free means four primary four partitions still you can create and that is primary partitions so I am going to create primary partition you can name it default first sector so this partition starts saying that this partition starts from the first sector so say then first partition size you can specify something like 64 Mac and say then you create then you set the type of partition and here we specify the ID I was talking about that this partition type ID is C okay so now it is saying that change system type of partition want to see this will be 90W 95 fat 32 then I am going to create another partition and this will again be a primary partition I will this is the second partition and I will allocating all the space available to the second partition and now I can list down so we have created two partitions SDB 1 and SDB 2 now I am going to save this configuration saved it now if we look at this so we have done step one and a step two now we are going to perform step three four and five before that we have to basically create this so we have to create fat and EXT 3FS on these two partitions so SDB 1 will be used as a boot partition will create you can see these many file systems MKFS is there BFS, CramFS, EXT 2 all so I partitioned SDB 1 as a fat file system and SDB 2 as a EXT 3 file system why we create file system because we want to have a view of files and like raw partitions are just simple space you store something but you will not see it as a files so you create a file system on that and so you can have like recognize like organize your data in the files that is why file system is needed now we are going to mount I am just using SDB so that see the mount it is showing that SDB 1 is like yeah SDB 1 is mounted on media SDB 1 new and its type is VFAR and it is rewrite file system similarly it is saying for SDB 2 is on media SDB 2 new and type is EXT 3 so now so we have done with the step 2 the complete now we have attached the card created partitions now we have create partition like and then formatted the file system on those partitions now we have this images saved so I have saved basically in this old this thing so we are going to copy basically the first I will copy as MLO then I am going to copy it was ramdisk or it was image so I am going to show you that what happens if there is no root file system on the system like if you do not copy the root file system what will happen so like logically what should happen MLO is there it will load U boot U boot is there it will load kernel image but kernel image will finally when boot up it will look for the file system and it may not find that so boot process may be stuck may get stuck somewhere we can see right that so you can see that the boot loader has been it will not give us time lot but you see this line right loading U boot then it is a reading U image so no in it found so basically the kernel got boot up but it is not finding the file system root file system so it will panic the kernel will so you will not get the prompt this is why basically the root file system is very important from kernel point of view your kernel is up and running but root file system is not there so you any utility is not available for user so you cannot do anything so we can see that sdb2 is already mounted on this particular grid so this was the boot root file system backup which I took so now we can copy into the mounted this one I am un-mounting both the partitions which is like you can see that here sdb2 is mounted on here sdb1 is mounted here so before pulling out this card I need to un-mount it so that if there is any data lying in the like on RAM it will go to the card now we have copied the root file system here as well so and check you can see that is the stop here so reading boot sector it is loading this U boot then it is like now it is ready to load the U image so we will just start and load this the kernel is booting this time it is ok right because it founds the root file system you can see there is all contents here and if you go to the this is the contents you can see that sqlite stmt general this file this is the backup file and this is available on the board as well here similarly if you copy your modules in one of the directory your module will be available over here like kernel module if you create and ok thank you guys so this is the basic working of Adware that is the bigel board the idea behind introduction of bigel board and why use bigel board is basically it supports android like any other devices you have the android devices right and why do we need to use bigel board you can use bigel board for many many things for example you can run it as a small computer use it as a computing device you can also design hardware based on bigel board where you can run industrial applications on bigel board can anybody suggest any such applications you can of course interface various peripherals to the bigel board you can use interface a usb camera to it you can use interface Wi-Fi modules u-tooth modules you can use you can control industrial control systems using bigel board as well so if you have a UI for example if you have a LCD connected you have ports available for LCD connection as well and you can make it as a pad your own pad device as well isn't it so basically it is nothing but an environment which is available to you for u-tooth design various applications in fact if you are aware last time we discussed about one basic application for detecting malarial parasite in blood right why you people there that time okay so I will just explain you what exactly is the use case in deep villages in India we do not have high end equipment which can easily detect malarial parasite in the blood quickly so what do you have to do it you have to send it to the lab and you have to have certain processes done on that serum sample and then use it or view it under a high power microscope and when you view it under high power microscope you see certain parasites and you have to actually count those parasites per cubic millimetre isn't it so that is such a difficult task and you need again trained eyes you need a trained lab technician but certain devices like this you can quickly write applications you can quickly interface a camera to it small camera and use the same techniques for processing but instead of a lab person or a lab technician you can easily do image processing and see because I will tell you the process again you take the blood sample separate the serum take the serum sample treat it with a dye and then you drop that spot on a chromatography paper once you drop that drop of blood or serum on the chromatography paper it starts migrating all the proteins start migrating and they form different bands because the dye they form different bands so you take a photograph of this band and start analysis what you do is image processing and you know the thickness of the band so find out the thickness of the band and you see most concentrated side of the band so where you get maximum color correct for example if you have a red color red color dye saffronin right so if it if the parasite takes up the saffronin it will show you pink color or slightly reddish color right so you analyze the band and then you say okay there are basic calculations given in given in the journals how to calculate this particular bandwidth so you calculate the band and say okay this is the say thousand parasites per cubic centimeter or cubic milliliter right so that is how that is how you actually use this devices so this is one use case basically but n number of use cases can be derived from this particular application so this is this board supports android and writing applications on android becomes easier and most of the drivers are easily available to you you can download the drivers integrated with your kernels integrated to your system and start using them so that is the main idea behind why we should use such hardware which is so cheap to you and easily available to you correct so thank you everybody for coming and I hope you enjoyed this session