Blog

The awesome Acme Systems Aria G25 SoM use a bootable image with Linux Kernel 2.6.39. If you want customize your kernel, you can follow the detailed steps provided by the official website. If you want a ready to use development environment to build your kernel, you can use Vagrant, that can (from the official site):

create and configure lightweight, reproducible, and portable development environments.

Vagrant works on Mac OS X, Linux and Windows using the power of virtualization provided by VirtualBox, VMware, AWS, or any other provider. Using Vagrant I’ve build a template (for VirtualBox) with all tools needed to cross-compile the Linux Kernel. To use this template follow this simple steps (I’ve used my Mac OS X Mountain Lion, but you can use your preferred operating system).

1. Install Vagrant

To install Vagrant simply follow the steps on the official Vagrant website.

2. Create your environment

sqeezecross32 is a development environment build on top of a Debian 6.0 Squeeze distribution and equipped with ARM9 cross toolchain (see this). To create your environment using this box simply open your terminal window and type:

Mac:~ Dev$ mkdir acme
Mac:~ Dev$ cd acme
Mac:~ Dev$ vagrant init squeezecross32 http://www.yoovant.com/downloads/squeezecross32.box

A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

3. Start your VM

To start your VM simply type:

Mac:~ Dev$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Box 'squeezecross32' was not found. Fetching box from specified URL for
the provider 'virtualbox'. Note that if the URL does not have
a box for this provider, you should interrupt Vagrant now and add
the box yourself. Otherwise Vagrant will attempt to download the
full box prior to discovering this error.
Downloading with Vagrant::Downloaders::HTTP...
Downloading box: http://www.yoovant.com/downloads/squeezecross32.box
Progress: 1% (22062944 / 1348847160)
...
Extracting box...
Cleaning up downloaded box...
Successfully added box 'squeezecross32' with provider 'virtualbox'!
[default] Importing base box 'squeezecross32'...
[default] No guest additions were detected on the base box for this VM! Guest
additions are required for forwarded ports, shared folders, host only
networking, and more. If SSH fails on this machine, please install
the guest additions and repackage the box to continue.

This is not an error message; everything may continue to work properly,
in which case you may ignore this message.
[default] Matching MAC address for NAT networking...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] Booting VM...
[default] Waiting for VM to boot. This can take a few minutes.
[default] VM booted and ready for use!
[default] Configuring and enabling network interfaces...
[default] Mounting shared folders...
[default] -- /vagrant
Mac:~ Dev$

NOTE: on the first boot the vbox is downloaded. The vbox is very large (~1.3 GB): be patient!

Now connect to console in SSH:

Mac:~ Dev$ vagrant ssh

Linux squeeze32 2.6.32-5-686 #1 SMP Mon Feb 25 01:04:36 UTC 2013 i686

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Mar 22 11:33:16 2013 from 10.0.2.2

vagrant@squeeze32:~$ 

After running the above two commands, you’ll have a fully running virtual machine in VirtualBox and you can manage file in your host computer using the shared folder /vagrant: all file that you put in this folder is visible both in your host computer and your VM.

4. Compile Linux Kernel

As you can see in your /home/vagrant/ folder there is a folder named linux-2.6.39 (and also a fox20-linux-2.6.38 folder for Fox): now simple read the Build the bootable Linux Kernel image for Aria G25 section into the official Acme Systems guide.

5. Turn off your environment

When you have finished your work, you can turn off your VM typing:

Mac:~ Dev$ vagrant halt
[default] Attempting graceful shutdown of VM...



About Marcello Gesmundo

I'm the founder of Yoovant company. I'm an engineer and an artist: what could be better than combine the technologies with the arts?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>