How To Build Custom Angstrom Build for BeagleBone with Ubuntu or Debian

This guide details the process of building a systemd image from the Angstrom source on a ubuntu or debian host.

For the steps below I have used Debian 6.0.4 via a net install

Install Debian 6.0.4 net install choosing only Standard system utilites

From root command prompt run

sudo apt-get install openssh-server

This will allow us to access the machine remotely via ssh

Following instructions on http://wiki.openembedded.org/index.php/OEandYourDistro#Debian

Install the mandatory packages as root

sudo apt-get install sed wget cvs subversion git-core coreutils unzip texi2html texinfo docbook-utils gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ desktop-file-utils chrpath dosfstools kpartx

Logout as root and return to regular user

Following instructions on http://www.angstrom-distribution.org/demo/beaglebone/ in the section down the bottom on “how to reproduce”

Run the following commands

git clone git://git.angstrom-distribution.org/setup-scripts

EDIT: I had trouble with this line since I posted this so I have since been using “git clone https://github.com/Angstrom-distribution/setup-scripts.git”


cd setup-scripts
./oebb.sh config beaglebone/

MACHINE=beaglebone ./oebb.sh bitbake systemd-image

When the build completes the files of interest will be stored in.

cd ~/setup-scripts/build/tmp-angstrom_2010_x-eglibc/deploy/images/beaglebone/

Insert the BeagleBone SD Card into the debian host.

Run dmesg

you should see the last few lines look like this
[28915.028000] mmc0: new SDHC card at address 1234
[28915.675869] mmcblk0: mmc0:1234 SA04G 3.63 GiB
[28915.675912] mmcblk0: p1 p2
The above notes show that we have an SD card mounted at /dev/mmc/blk0

We now want to format the SD card using the script file here http://www.angstrom-distribution.org/demo/beaglebone/mkcard.txt

First get the script on the debian host

wget http://www.angstrom-distribution.org/demo/beaglebone/mkcard.txt

Rename the file

mv mkcard.txt mkcard.sh

Login as root

su

Make the file executable

chmod +x mkcard.sh

Run the script to format the SD card

./mkcard.sh /dev/mmcblk0

If this is runs nicely then write the Angstrom image to the BeagleBone SD card using
Create a place to mount the new file systems

cd /mnt/

mkdir boot

mkdir Angstrom

Mount the File systems

mount -t vfat /dev/mmcblk0p1 /mnt/boot/

mount /dev/mmcblk0p2 /mnt/Angstrom/

Now using df -h we can see the file systems are mounted and empty

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 226G 9.3G 205G 5% /

tmpfs 1013M 0 1013M 0% /lib/init/rw

udev 1009M 212K 1009M 1% /dev

tmpfs 1013M 0 1013M 0% /dev/shm

/dev/mmcblk0p1 70M 512 70M 1% /mnt/boot

/dev/mmcblk0p2 3.6G 72M 3.3G 3% /mnt/Angstrom

Change directory back to the location of our build

cd /home/craig/setup-scripts/build/tmp-angstrom_2010_x-eglibc/deploy/images/beaglebone/

Copy the boot files to the first partition

cp u-boot.img /mnt/boot/

cp MLO /mnt/boot/

cp uImage-3.2-r5b+gitr09e9651bcf2ee8d86685f2a8075bc6557b1d3b91-beaglebone-20120311054152.bin /mnt/boot

 

Rename the uImage to just uImage

mv /mnt/boot/uImage-3.2-r5b+gitr09e9651bcf2ee8d86685f2a8075bc6557b1d3b91-beaglebone-20120311054152.bin /mnt/boot/uImage

Copy the root filesystem from the tarball we created earlier to the second partition

tar -xjv -C /mnt/Angstrom/ -f Angstrom-systemd-image-eglibc-ipk-v2012.03-core-beaglebone.rootfs.tar.bz2

Unmount the SD card

umount /mnt/boot

umount /mnt/Angstrom

Your SD card is now ready for booting.

Remove the SD card from the Debian host
Remove all cables from BeagleBone
Insert SD card into BeagleBone
Plug in Ethernet cable to BeagleBone
Plug in power adapter.

The LEDs on the BeagleBone should flash as the device is booting.

Once it has booted it should show up in your routers DHCP Client list with the hostname “beaglebone”

You should now have access to the BeagleBone via an SSH client.
Using the username “root” password “root”

To change the root password use the passwd command.

Now you have a systemd image running on your BeagleBone

Advertisements

Autono-mow – The DIY Autonomous Lawnmower – Day 2

Day 2 of robot lawnmower resulted in the second drive motor and wheel being added and “Better” electrical on/off system implemented.

This new electrical system allowed Forward/Off control of each motor.

The following video shows a test run without any extra weight.

Download Day2-UnloadedMP4

The following video shows a similar test run with a calibrated weight added to represent the extra load that will be imposed on the mower with cutting drive, battery, etc.

Download Day2-LoadedMP4

Autono-mow – The DIY Autonomous Lawnmower – Day 1

Work began today on my Autonomous robotic lawnmower.

The intention is that this robot should be able to mow the lawn in my back yard without major human interaction.

The mechanical works began today with an old Rover mower having the back wheels removed and new rear drive wheel added. Driven by EK Ford Falcon windscreen wiper motors.

The Mower for Modification

The video below shows only one wheel added and being powered by a 12v sealed lead acid motorbike battery. As can be seen in the video the battery is connected directly to the motor terminals.

Download Video – Day1-Bump Test

Atmega128 UART / RS232 test code

This bunch of code can be used to test UART or RS232 (depending on your circuit).

I use https://sites.google.com/site/terminalbpp/ as a windows terminal.

Compile and flash this code and your microcontroller will tell you that its running via UART. You can then send it a request (ending with a character return) and it will respond with the baud rate register value (just used as an example).

The archives below have all the source code that you will need to get basic UART running on your ATmega128.

2011-AVRUART.zip

2011-AVRUART.tar

 

Key based authentication for tortoisesvn with ssh

To checkout using ssh and key authentication with tortoise start by installing both tortoisesvn and putty (using windows installer)
Get Putty here
http://www.chiark.greenend.org.uk/~sgtatham/putty/

Get Tortoisesvn here
http://www.chiark.greenend.org.uk/~sgtatham/putty/

Run puttygen

Start Menu

Click Generate and wave the mouse around in the box

 

Generating your public and private keys

Fill in the Red boxes, copy and paste the text in the blue box and then save your private key somewhere safe.

Now take the string you have copied and pasted and insert it as a line in the text file on server

.ssh/authorized_keys

you may then have to change the permissions on this file using

chmod 700 ~/.ssh/authorized_keys

Now run Putty from the start menu like in the first image

and configure it as shown in the next few images.

 

SSH auth settings

Click the auth item under ssh and browse to your private key location

 

Set the auto login username

Set the auto login username

 

Save your session

Set your hostname, name your session and click save.

Now click open and you will be authenticated with your key plus your pass phrase.

If you want to have your pass phrase remembered each time you can now run Pageant from the start menu and add your private key and pass phrase.

This will run in the background and automatically sign you in when putty needs authentication details.

You should now be able to test it by running putty and double clicking on the saved session.

You should now be logged in to the remote terminal.

You can now checkout using the a checkout url similar to this

Where the svnsession in the red box is the name of your saved session.

When checking out you are now challenged for your key pass phrase.

 

Note: For those who wish to have this passphrase remembered for that login session simply grab your private key file and drop it into your start menu startup folder and on boot you will be prompted for your passphrase and you will remain logged in.

How to run Minecraft on Ubuntu 10.10

Install the openjdk
Copy and paste this into the terminal window (Click Applications –> Accessories –>Terminal)

 sudo apt-get install openjdk-6-jre openjdk-6-jre-headless

Then just download the game to your home folder and run at the terminal

 java -Xmx1024M -Xms512M -cp Minecraft.jar net.minecraft.LauncherFrame


If you have trouble you could try this, it appears as if the filename has changed. This is due to Linux being case sensitive.

 java -Xmx1024M -Xms512M -cp minecraft.jar net.minecraft.LauncherFrame

Backyard wood fired pizza oven DIY – Day 5 – Morning

This morning we lit a small fire on the new slab to allow it to heat slowly as the inside floor slab has only had about 12hours to cure. We should probably have left it for a week or so but the oven is scheduled for use later tonight.

The finished floor slab

 

Lighting the first fire

 

First signs of smoke

 

Oven beginning to smoke

 

The first fire

 

The first fire

 

The fire burnt down.

During the inital fire lighting we put a thermometer on the top of the chimney and it reached 200 degrees celcius before we decided to take the thermometer as the temperature reading was still climbing.

 

 

 

In order to take full advantage of the ovens potential it was used to cook breakfast.

 

Cooking apparatus

 

Cooking....

 

Eggs

Backyard wood fired pizza oven DIY – Day 4

Today we added 75mm of small (25mm) loose rock to the inside of the oven, this layer of rock was then covered with a 40mm concrete slab.

This slab will lock in an air pocket between the base of the oven and the floor level that will act as  insulation between the ground and the inside of the oven.

We have not got any pictures of this process.