A Touch of Light

A step towards enlightenment for those living in the world of darkness.

A Young India Fellowship Initiative in collaboration with University of Pennsylvania


      





Showing posts with label Ubuntu. Show all posts
Showing posts with label Ubuntu. Show all posts

Sunday, March 25, 2012

mbed Removed

We have finally succeeded in removing one major component from the belt. The initial design of the belt had mbed in it. We were using mbed to generate PWM (Pulse width Modulation) to be sent to the actuators (vibration motors in our case). However, we eventually figured out that the same functionalities can be provided by PandaBoard without incurring that extra component cost of mbed.

PandaBoard has on-board GPIO (General Purpose Input Output) pins that can be used to render multiple functionalities. We configured three GPIO pins as output and created three software threads to generate variable-duty PWM. This PWM further actuates the vibration motors to guide the visually impaired in obstacle-detection.

Removal of mbed is a major breakthrough for us as we are continuously working on decreasing the size of the belt to make a sleek wearable design.

Tuesday, November 29, 2011

Booting Ubuntu on Pandaboard EA3

STEP1: Download the Ubuntu image
Use this link to download the pre-installed image of ubuntu 10.10. 

STEP2: Prepare the SD card
Insert the SD card in your PC and unmount it. Then use this command to copy the pre-built image on the card.

COMMAND:
sudo sh -c 'zcat ./ubuntu-netbook-10.10-preinstalled-netbook-armel+omap4.img.gz|dd bs=4M of=/dev/sdb; sync'

STEP3: Download and copy required u-boot and MLO files
For Pandaboard version A2 and later follow these instructions. In our case we had a EA3 version so we followed it.  

2.      Untar with "tar -jxf panda.tar.bz2"
3.      Mount the first partition of the imaged SD card
4.      Copy MLO and u-boot.bin (extracted from the tar file) to the mounted partition.

STEP4: Boot from Pandaboard
Now unmounts the SD card and insert it in Pandaboard and give it the power. It shall start booting.

STEP5: Now use the same procedure to install OpenNI and Kinect that we used for BeagleBoard.



Monday, November 7, 2011

Bootstrap


Here are the instructions to download an image of Ubuntu Maverick and installing it on SD/MMC card. You may choose any Ubuntu flavor as you wish. We have chosen Maverick 10.10 here. Download any other flavor of Ubuntu from here: http://rcn-ee.net/deb/rootfs/maverick/.

STEP 1: Download and extract Ubuntu Maverick 10.10
wget http://rcn-ee.net/deb/rootfs/maverick/ubuntu-10.10-r7-minimal-armel.tar.xz
 
tar xjf ubuntu-10.10-r7-minimal-armel.tar.xz
cd ubuntu-10.10-r7-minimal-armel

STEP 2: Look for the MMC/SD card
sudo ./setup_sdcard.sh --probe-mmc

This would result in something like this-
Are you sure? I Don't see [/dev/idontknow], here is what I do see...
 
fdisk -l:
Disk /dev/sda: 500.1 GB, 500107862016 bytes <-x86 Root Drive
Disk /dev/sdb: 7957 MB, 7957325824 bytes    <-MMC/SD card
 
mount:
/dev/sda1 on / type ext4 (rw,errors=remount-ro,commit=0) <-x86 Root Partition
 Here you can see that /dev/sdb matches your MMC card specification.

STEP 3: Partition the MMC/SD card and install the Ubuntu image
sudo ./setup_sdcard.sh --mmc /dev/sdb --uboot beagle

Version
--uboot option
BeagleBoard Bx
--uboot beagle_bx
BeagleBoard Cx, xM, A/B/C
--uboot beagle
Panda Board
--uboot panda

STEP 4: Insert the MMC/SD card in SD card slot at BeagleBoard, connect the monitor and boot it. Use these login details:
Username: ubuntu 
Password: temppwd

STEP 5: Connect to Internet and install GUI and other necessary packages
sudo dhclient eth0
sudo apt-get update
sudo apt-get install xubuntu-desktop
sudo apt-get install xfce4 gdm xubuntu-gdm-theme xubuntu-artwork 
sudo apt-get install xserver-xorg-video-omap3 network-manager
We also used ‘sudo apt-get upgrade’ in this step 5. It took several hours and resulted into non graphical interface. Therefore, there is no need to do that here. 

STEP 6: Restart the BeagleBoard.


Friday, November 4, 2011

PandaBoard- All thanks to Texas Instruments

Yes!!! Now we have with us the power of PandaBoard and all thanks to Texas Instruments for providing us the board for our project and guess what..it's sponsored by them.

After half an hour long conference with Vikas Joshi representing TI, he sent to us PandaBoard which will give a special edge to our project. We have already installed Ubuntu OS image on it and we are heading towards our next step to complete Phase I of the project.

Thank You Texas Instruments!!!

Sunday, October 23, 2011

Serially the way out


In order to transmit the data from BeagleBoard to Mbed microcontroller to actuate the vibration motors we need to transmit data serially. Hence we successfully tested serially full duplex communication from Linux (x86 processor) to other PC terminal. Next target is running the Kinect and OpenNi on Ubuntu (we have already succesfully checked the same on Windows7).

Getting to the technicalities



As mentioned in the previous post, we faced certain issues with Ubuntu. We had different concerns for Natty and Maverick. In case of Natty, our main concern was the extra amount of space being taken up by the OS that we had to eventually buy another 8GB SD Card. Thus, as we figured out the main problem with installing Natty is the space constraint.
In case of Maverick, even after strictly following the steps given in the wiki link:https://wiki.ubuntu.com/ARM/OMAPMaverickInstall



We were not able to successfully install it. We were following the installing procedures for BeagleBoard xM ver A3 and later. However, later we discovered that although the procedure for all other versions of BeagleBoard xM after A3 is same, ver C is an expection to it. We figured out that since our BeagleBoard xM was Rev C, we had to adopt different procedure instead of the normal procedure (also mentioned in above link) as an exception.

Time to explore :-)


Since we had worked on Windows CE7 before, we thought of exploring other Operating Systems. Spending some time on this process was necessary as we want to test the pros and cons of various OS before choosing one.

We tried installing and booting the OS on BeagleBoard for testing purposes.


1. Angstorm: : We started with Angstorm with worked perfectly fine without creating any issues.


2. Ubuntu Flavors: Next we applied the same procedure of testing the image on Natty and Maverick separately. We came up with certain difficulties in this (discussed in the next post). However, we were able to resolve them soon.

3. Android: Considering the Android revolution going on at present with high graphic capabilities, we thought it also try our hands on it. This would help us later in integrating our product with State of the Art application, features.

Thus, we were finally able to successfully test install all main OS on BeagleBoard. During this process we learned that for an OS to successfully boot this process is needed-

1. Partitioning the SD card into two parts-

             SD card            : /dev/sdb  [4 GB]
______________________________________________
     Name                     Path              Space                 Type
______________________________________________
boot partition    |       /dev/sdb1     |    74 MB         |   FAT32
rootfs partition  |       /dev/sdb2     | Rest Space      |   EXT3
______________________________________________

2. Copying appropriate files into these partitions-

__________________________________________________
     Name                     Path                           Files
__________________________________________________
boot partition    |       /dev/sdb1     |   MLO, u-boot.bin.ift, uImage
rootfs partition  |       /dev/sdb2     |   vmlinuz
__________________________________________________


These four files are the main files for BB-xm we need 'boot.scr' too.

Thursday, October 13, 2011

The Road Ahead

Some of the other things that we also have started working on are follows:
- We are exploring the options for connecting Internet to the BeagleBoard. Since it doesn't have an inbuilt WiFi, we have decided to go with LAN connection at present. However, since router is placed at some distance, we have to make 20m length cable for our usage.
- For a day or two, we are testing various OS platforms to search the best option suiting our requirements. We have already successfully tested on Angstrom which worked perfectly fine. Our next targets are of Ubuntu Maverick and Android which we hopefully aim to finish soon.
- We have started exploring Kinect to test its various parts. We even did Kinect tear-down in order to gain better understanding of the product.
Showing posts with label Ubuntu. Show all posts
Showing posts with label Ubuntu. Show all posts

Sunday, March 25, 2012

mbed Removed

We have finally succeeded in removing one major component from the belt. The initial design of the belt had mbed in it. We were using mbed to generate PWM (Pulse width Modulation) to be sent to the actuators (vibration motors in our case). However, we eventually figured out that the same functionalities can be provided by PandaBoard without incurring that extra component cost of mbed.

PandaBoard has on-board GPIO (General Purpose Input Output) pins that can be used to render multiple functionalities. We configured three GPIO pins as output and created three software threads to generate variable-duty PWM. This PWM further actuates the vibration motors to guide the visually impaired in obstacle-detection.

Removal of mbed is a major breakthrough for us as we are continuously working on decreasing the size of the belt to make a sleek wearable design.

Tuesday, November 29, 2011

Booting Ubuntu on Pandaboard EA3

STEP1: Download the Ubuntu image
Use this link to download the pre-installed image of ubuntu 10.10. 

STEP2: Prepare the SD card
Insert the SD card in your PC and unmount it. Then use this command to copy the pre-built image on the card.

COMMAND:
sudo sh -c 'zcat ./ubuntu-netbook-10.10-preinstalled-netbook-armel+omap4.img.gz|dd bs=4M of=/dev/sdb; sync'

STEP3: Download and copy required u-boot and MLO files
For Pandaboard version A2 and later follow these instructions. In our case we had a EA3 version so we followed it.  

2.      Untar with "tar -jxf panda.tar.bz2"
3.      Mount the first partition of the imaged SD card
4.      Copy MLO and u-boot.bin (extracted from the tar file) to the mounted partition.

STEP4: Boot from Pandaboard
Now unmounts the SD card and insert it in Pandaboard and give it the power. It shall start booting.

STEP5: Now use the same procedure to install OpenNI and Kinect that we used for BeagleBoard.



Monday, November 7, 2011

Bootstrap


Here are the instructions to download an image of Ubuntu Maverick and installing it on SD/MMC card. You may choose any Ubuntu flavor as you wish. We have chosen Maverick 10.10 here. Download any other flavor of Ubuntu from here: http://rcn-ee.net/deb/rootfs/maverick/.

STEP 1: Download and extract Ubuntu Maverick 10.10
wget http://rcn-ee.net/deb/rootfs/maverick/ubuntu-10.10-r7-minimal-armel.tar.xz
 
tar xjf ubuntu-10.10-r7-minimal-armel.tar.xz
cd ubuntu-10.10-r7-minimal-armel

STEP 2: Look for the MMC/SD card
sudo ./setup_sdcard.sh --probe-mmc

This would result in something like this-
Are you sure? I Don't see [/dev/idontknow], here is what I do see...
 
fdisk -l:
Disk /dev/sda: 500.1 GB, 500107862016 bytes <-x86 Root Drive
Disk /dev/sdb: 7957 MB, 7957325824 bytes    <-MMC/SD card
 
mount:
/dev/sda1 on / type ext4 (rw,errors=remount-ro,commit=0) <-x86 Root Partition
 Here you can see that /dev/sdb matches your MMC card specification.

STEP 3: Partition the MMC/SD card and install the Ubuntu image
sudo ./setup_sdcard.sh --mmc /dev/sdb --uboot beagle

Version
--uboot option
BeagleBoard Bx
--uboot beagle_bx
BeagleBoard Cx, xM, A/B/C
--uboot beagle
Panda Board
--uboot panda

STEP 4: Insert the MMC/SD card in SD card slot at BeagleBoard, connect the monitor and boot it. Use these login details:
Username: ubuntu 
Password: temppwd

STEP 5: Connect to Internet and install GUI and other necessary packages
sudo dhclient eth0
sudo apt-get update
sudo apt-get install xubuntu-desktop
sudo apt-get install xfce4 gdm xubuntu-gdm-theme xubuntu-artwork 
sudo apt-get install xserver-xorg-video-omap3 network-manager
We also used ‘sudo apt-get upgrade’ in this step 5. It took several hours and resulted into non graphical interface. Therefore, there is no need to do that here. 

STEP 6: Restart the BeagleBoard.


Friday, November 4, 2011

PandaBoard- All thanks to Texas Instruments

Yes!!! Now we have with us the power of PandaBoard and all thanks to Texas Instruments for providing us the board for our project and guess what..it's sponsored by them.

After half an hour long conference with Vikas Joshi representing TI, he sent to us PandaBoard which will give a special edge to our project. We have already installed Ubuntu OS image on it and we are heading towards our next step to complete Phase I of the project.

Thank You Texas Instruments!!!

Sunday, October 23, 2011

Serially the way out


In order to transmit the data from BeagleBoard to Mbed microcontroller to actuate the vibration motors we need to transmit data serially. Hence we successfully tested serially full duplex communication from Linux (x86 processor) to other PC terminal. Next target is running the Kinect and OpenNi on Ubuntu (we have already succesfully checked the same on Windows7).

Getting to the technicalities



As mentioned in the previous post, we faced certain issues with Ubuntu. We had different concerns for Natty and Maverick. In case of Natty, our main concern was the extra amount of space being taken up by the OS that we had to eventually buy another 8GB SD Card. Thus, as we figured out the main problem with installing Natty is the space constraint.
In case of Maverick, even after strictly following the steps given in the wiki link:https://wiki.ubuntu.com/ARM/OMAPMaverickInstall



We were not able to successfully install it. We were following the installing procedures for BeagleBoard xM ver A3 and later. However, later we discovered that although the procedure for all other versions of BeagleBoard xM after A3 is same, ver C is an expection to it. We figured out that since our BeagleBoard xM was Rev C, we had to adopt different procedure instead of the normal procedure (also mentioned in above link) as an exception.

Time to explore :-)


Since we had worked on Windows CE7 before, we thought of exploring other Operating Systems. Spending some time on this process was necessary as we want to test the pros and cons of various OS before choosing one.

We tried installing and booting the OS on BeagleBoard for testing purposes.


1. Angstorm: : We started with Angstorm with worked perfectly fine without creating any issues.


2. Ubuntu Flavors: Next we applied the same procedure of testing the image on Natty and Maverick separately. We came up with certain difficulties in this (discussed in the next post). However, we were able to resolve them soon.

3. Android: Considering the Android revolution going on at present with high graphic capabilities, we thought it also try our hands on it. This would help us later in integrating our product with State of the Art application, features.

Thus, we were finally able to successfully test install all main OS on BeagleBoard. During this process we learned that for an OS to successfully boot this process is needed-

1. Partitioning the SD card into two parts-

             SD card            : /dev/sdb  [4 GB]
______________________________________________
     Name                     Path              Space                 Type
______________________________________________
boot partition    |       /dev/sdb1     |    74 MB         |   FAT32
rootfs partition  |       /dev/sdb2     | Rest Space      |   EXT3
______________________________________________

2. Copying appropriate files into these partitions-

__________________________________________________
     Name                     Path                           Files
__________________________________________________
boot partition    |       /dev/sdb1     |   MLO, u-boot.bin.ift, uImage
rootfs partition  |       /dev/sdb2     |   vmlinuz
__________________________________________________


These four files are the main files for BB-xm we need 'boot.scr' too.

Thursday, October 13, 2011

The Road Ahead

Some of the other things that we also have started working on are follows:
- We are exploring the options for connecting Internet to the BeagleBoard. Since it doesn't have an inbuilt WiFi, we have decided to go with LAN connection at present. However, since router is placed at some distance, we have to make 20m length cable for our usage.
- For a day or two, we are testing various OS platforms to search the best option suiting our requirements. We have already successfully tested on Angstrom which worked perfectly fine. Our next targets are of Ubuntu Maverick and Android which we hopefully aim to finish soon.
- We have started exploring Kinect to test its various parts. We even did Kinect tear-down in order to gain better understanding of the product.