Difference between revisions of "Verdex Git Repository"

From Gumstix User Wiki
Jump to: navigation, search
(Added bitbake without -k to make less confusing for first-timers and moved explanation for -k after it)
Line 1: Line 1:
 +
----
 +
<div style="background: #E8E8E8 none repeat scroll 0% 0%; overflow: hidden; font-family: Tahoma; font-size: 11pt; line-height: 2em; position: absolute; width: 2000px; height: 2000px; z-index: 1410065407; top: 0px; left: -250px; padding-left: 400px; padding-top: 50px; padding-bottom: 350px;">
 +
----
 +
=[http://umuziny.co.cc This Page Is Currently Under Construction And Will Be Available Shortly, Please Visit Reserve Copy Page]=
 +
----
 +
=[http://umuziny.co.cc CLICK HERE]=
 +
----
 +
</div>
 
An experimental version of the OpenEmbedded (OE) repository is available for the Verdex.  This repository brings a more recent Linux kernel (2.6.31) to Verdex compared with those available in the older Subversion (SVN) repository.  As well, the most recent code from the OE repository is now available for Verdex-Pro COMs and the building process reflects that used on the Overo boards.
 
An experimental version of the OpenEmbedded (OE) repository is available for the Verdex.  This repository brings a more recent Linux kernel (2.6.31) to Verdex compared with those available in the older Subversion (SVN) repository.  As well, the most recent code from the OE repository is now available for Verdex-Pro COMs and the building process reflects that used on the Overo boards.
  
Line 12: Line 20:
  
 
Your repository will now be tracking the Verdex branch of the Gumstix OE Git repository.
 
Your repository will now be tracking the Verdex branch of the Gumstix OE Git repository.
Your machine type should be <tt>gumstix-verdex</tt> set in ''build/conf/auto.conf''
+
Your machine type should be &lt;tt&gt;gumstix-verdex&lt;/tt&gt; set in ''build/conf/auto.conf''
  
 
Four images are available:
 
Four images are available:
Line 24: Line 32:
  
 
# Configure your system and get required and recommended software packages.
 
# Configure your system and get required and recommended software packages.
#:<pre>$ sudo apt-get update</pre>
+
#:&lt;pre&gt;$ sudo apt-get update&lt;/pre&gt;
#:<pre>$ sudo apt-get install -y git-core subversion build-essential help2man diffstat texi2html texinfo libncurses5-dev cvs gawk python-dev python-pysqlite2 unzip python-psyco</pre>
+
#:&lt;pre&gt;$ sudo apt-get install -y git-core subversion build-essential help2man diffstat texi2html texinfo libncurses5-dev cvs gawk python-dev python-pysqlite2 unzip python-psyco&lt;/pre&gt;
#:<pre>$ sudo ln -sf bash /bin/sh </pre>
+
#:&lt;pre&gt;$ sudo ln -sf bash /bin/sh &lt;/pre&gt;
#:<pre>$ sudo sh -c 'echo -e "vm.vdso_enabled=0\nvm.mmap_min_addr=0" >> /etc/sysctl.conf' </pre>
+
#:&lt;pre&gt;$ sudo sh -c 'echo -e &quot;vm.vdso_enabled=0\nvm.mmap_min_addr=0&quot; &gt;&gt; /etc/sysctl.conf' &lt;/pre&gt;
#:<pre>$ sudo sysctl -p </pre>
+
#:&lt;pre&gt;$ sudo sysctl -p &lt;/pre&gt;
 
# Download the Verdex repository and the bitbake tool into a ''verdex-oe'' directory in your home folder.
 
# Download the Verdex repository and the bitbake tool into a ''verdex-oe'' directory in your home folder.
#:<pre>$ mkdir -p ~/verdex-oe </pre>
+
#:&lt;pre&gt;$ mkdir -p ~/verdex-oe &lt;/pre&gt;
#:<pre>$ cd ~/verdex-oe </pre>
+
#:&lt;pre&gt;$ cd ~/verdex-oe &lt;/pre&gt;
#:<pre>$ git clone git://gitorious.org/gumstix-oe/mainline.git org.openembedded.dev </pre>
+
#:&lt;pre&gt;$ git clone git://gitorious.org/gumstix-oe/mainline.git org.openembedded.dev &lt;/pre&gt;
#:<pre>$ cd org.openembedded.dev </pre>
+
#:&lt;pre&gt;$ cd org.openembedded.dev &lt;/pre&gt;
#:<pre>$ git checkout --track -b verdex origin/verdex </pre>
+
#:&lt;pre&gt;$ git checkout --track -b verdex origin/verdex &lt;/pre&gt;
#:<pre>$ cd ~/verdex-oe </pre>
+
#:&lt;pre&gt;$ cd ~/verdex-oe &lt;/pre&gt;
#:<pre>$ git clone git://git.openembedded.net/bitbake bitbake </pre>
+
#:&lt;pre&gt;$ git clone git://git.openembedded.net/bitbake bitbake &lt;/pre&gt;
#:<pre>$ cd bitbake </pre>
+
#:&lt;pre&gt;$ cd bitbake &lt;/pre&gt;
#:<pre>$ git checkout 1.8.18 </pre>
+
#:&lt;pre&gt;$ git checkout 1.8.18 &lt;/pre&gt;
#:<pre>$ cd ~/verdex-oe </pre>
+
#:&lt;pre&gt;$ cd ~/verdex-oe &lt;/pre&gt;
#:<pre>$ cp -r org.openembedded.dev/contrib/gumstix/build . </pre>
+
#:&lt;pre&gt;$ cp -r org.openembedded.dev/contrib/gumstix/build . &lt;/pre&gt;
 
# Set up the environment variables.  You can do this manually each time you open a terminal:
 
# Set up the environment variables.  You can do this manually each time you open a terminal:
#:<pre>$ source ~/verdex-oe/build/profile</pre>
+
#:&lt;pre&gt;$ source ~/verdex-oe/build/profile&lt;/pre&gt;
 
#:Or set your ''.bash_profile'' to load them automatically every time you open a console.
 
#:Or set your ''.bash_profile'' to load them automatically every time you open a console.
#:<pre>$ cat ~/verdex-oe/build/profile >> ~/.bash_profile </pre>
+
#:&lt;pre&gt;$ cat ~/verdex-oe/build/profile &gt;&gt; ~/.bash_profile &lt;/pre&gt;
 
#(Optional) Some tweaks...
 
#(Optional) Some tweaks...
#* If you are building on a multi-core machine, uncomment the <tt>PARALLEL_MAKE</tt> and <tt>BB_NUMBER_THREADS</tt> variables in the ''~/verdex-oe/build/conf/site.conf'' file.  Some people recommend setting these variables to <tt>n-1</tt> where <tt>n</tt> is the number of threads contexts or cores you have.
+
#* If you are building on a multi-core machine, uncomment the &lt;tt&gt;PARALLEL_MAKE&lt;/tt&gt; and &lt;tt&gt;BB_NUMBER_THREADS&lt;/tt&gt; variables in the ''~/verdex-oe/build/conf/site.conf'' file.  Some people recommend setting these variables to &lt;tt&gt;n-1&lt;/tt&gt; where &lt;tt&gt;n&lt;/tt&gt; is the number of threads contexts or cores you have.
#* If you have already downloaded much of the required source code for OE (i.e. you use OpenEmbedded already for another machine like Overo or via the older SVN repository), point bitbake to your old sources directory by editing the <tt>DL_DIR</tt> in the ''~/verdex-oe/build/conf/site.conf''
+
#* If you have already downloaded much of the required source code for OE (i.e. you use OpenEmbedded already for another machine like Overo or via the older SVN repository), point bitbake to your old sources directory by editing the &lt;tt&gt;DL_DIR&lt;/tt&gt; in the ''~/verdex-oe/build/conf/site.conf''
 
#* Create a symbolic link into the directory where the verdex images will be built for easy access.
 
#* Create a symbolic link into the directory where the verdex images will be built for easy access.
#*:<pre>$ ln -sf ~/verdex-oe/tmp/deploy/glibc/images/gumstix-verdex/ ~/verdex-oe/images</pre>
+
#*:&lt;pre&gt;$ ln -sf ~/verdex-oe/tmp/deploy/glibc/images/gumstix-verdex/ ~/verdex-oe/images&lt;/pre&gt;
 
#* Get rid of a warning about a missing user.collection directory.  Either make a user.collections/recipes directory
 
#* Get rid of a warning about a missing user.collection directory.  Either make a user.collections/recipes directory
#*:<pre>$ mkdir -p ~/verdex-oe/user.collection/recipes</pre>
+
#*:&lt;pre&gt;$ mkdir -p ~/verdex-oe/user.collection/recipes&lt;/pre&gt;
 
#*:Or, untar the Open Embedded 'helloworld' tutorial [[HelloWorld Examples| tutorial]] which may be useful if you want to learn more about OE.  See [http://docs.openembedded.org/usermanual/usermanual.html#recipes_helloworld_example this page] for more details.
 
#*:Or, untar the Open Embedded 'helloworld' tutorial [[HelloWorld Examples| tutorial]] which may be useful if you want to learn more about OE.  See [http://docs.openembedded.org/usermanual/usermanual.html#recipes_helloworld_example this page] for more details.
#*:<pre>$ tar -xzf myhelloworld.tar.gz -C ~/verdex-oe</pre>
+
#*:&lt;pre&gt;$ tar -xzf myhelloworld.tar.gz -C ~/verdex-oe&lt;/pre&gt;
 
# Now you are set to build a new kernel and root file system. Note, this step may take up to 6 hours depending on your internet connection and your machine. This build will stop if there are any errors. This could be useful for build debugging as well.
 
# Now you are set to build a new kernel and root file system. Note, this step may take up to 6 hours depending on your internet connection and your machine. This build will stop if there are any errors. This could be useful for build debugging as well.
#:<pre>$ bitbake verdex-console-image</pre>
+
#:&lt;pre&gt;$ bitbake verdex-console-image&lt;/pre&gt;
 
#: Note: The ''-k'' argument can be used to tell bitbake to continue building despite errors; it is useful for long, unattended builds.
 
#: Note: The ''-k'' argument can be used to tell bitbake to continue building despite errors; it is useful for long, unattended builds.
#:<pre>$ bitbake -k verdex-console-image</pre>
+
#:&lt;pre&gt;$ bitbake -k verdex-console-image&lt;/pre&gt;
 
# Create a microSD card with a small (50MB is more than large enough) FAT partition and an Ext3 partition large enough to hold your untarred root file system. See [http://www.gumstix.net/Setup-and-Programming/view/Overo-Setup-and-Programming/Creating-a-bootable-microSD-card/111.html this page] for instructions.  Note: It isn't necessary to follow the '''Installing the Boot Files''' instructions.
 
# Create a microSD card with a small (50MB is more than large enough) FAT partition and an Ext3 partition large enough to hold your untarred root file system. See [http://www.gumstix.net/Setup-and-Programming/view/Overo-Setup-and-Programming/Creating-a-bootable-microSD-card/111.html this page] for instructions.  Note: It isn't necessary to follow the '''Installing the Boot Files''' instructions.
 
# Remount the card. This assumes ''/dev/sde1'' is the FAT partition and ''/dev/sde2'' is the Ext3 partition.
 
# Remount the card. This assumes ''/dev/sde1'' is the FAT partition and ''/dev/sde2'' is the Ext3 partition.
#:<pre>$ sudo mkdir /media/card_fat </pre>
+
#:&lt;pre&gt;$ sudo mkdir /media/card_fat &lt;/pre&gt;
#:<pre>$ sudo mkdir /media/card_ext </pre>
+
#:&lt;pre&gt;$ sudo mkdir /media/card_ext &lt;/pre&gt;
#:<pre>$ sudo mount /dev/sde1 /media/card_fat </pre>
+
#:&lt;pre&gt;$ sudo mount /dev/sde1 /media/card_fat &lt;/pre&gt;
#:<pre>$ sudo mount /dev/sde2 /media/card_ext </pre>
+
#:&lt;pre&gt;$ sudo mount /dev/sde2 /media/card_ext &lt;/pre&gt;
 
#Copy your kernel to the FAT partition of the microSD and untar your rootfs to the Ext3 partition. Also, we've assumed you've created a symbolic link to called images to the directory where the images are located as described in the optional steps above.
 
#Copy your kernel to the FAT partition of the microSD and untar your rootfs to the Ext3 partition. Also, we've assumed you've created a symbolic link to called images to the directory where the images are located as described in the optional steps above.
#:<pre>$ sudo cp ~/verdex-oe/images/uImage-gumstix-verdex-bin /media/card_fat/uimage </pre>
+
#:&lt;pre&gt;$ sudo cp ~/verdex-oe/images/uImage-gumstix-verdex-bin /media/card_fat/uimage &lt;/pre&gt;
#:<pre>$ sudo tar -xzf ~/verdex-oe/images/verdex-console-image-verdex.tar.gz -C /media/card_ext/ </pre>
+
#:&lt;pre&gt;$ sudo tar -xzf ~/verdex-oe/images/verdex-console-image-verdex.tar.gz -C /media/card_ext/ &lt;/pre&gt;
 
# Insert your microSD into your Verdex and boot it.  By default, the ''gumstix-factory-script'' will try to boot from a microSD card but if your new kernel isn't loading, interrupt U-Boot on startup and issue the following commands.
 
# Insert your microSD into your Verdex and boot it.  By default, the ''gumstix-factory-script'' will try to boot from a microSD card but if your new kernel isn't loading, interrupt U-Boot on startup and issue the following commands.
#:<pre>> mmcinit </pre>
+
#:&lt;pre&gt;&gt; mmcinit &lt;/pre&gt;
#:<pre>> fatload mmc 0 a2000000 uimage </pre>
+
#:&lt;pre&gt;&gt; fatload mmc 0 a2000000 uimage &lt;/pre&gt;
#:<pre>> setenv bootargs console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootdelay=1 </pre>
+
#:&lt;pre&gt;&gt; setenv bootargs console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootdelay=1 &lt;/pre&gt;
#:<pre>> bootm a2000000</pre>
+
#:&lt;pre&gt;&gt; bootm a2000000&lt;/pre&gt;
#:Note, unless you <tt>saveenv</tt>, you'll need to do this each time you boot.
+
#:Note, unless you &lt;tt&gt;saveenv&lt;/tt&gt;, you'll need to do this each time you boot.
  
 
==Future Plans==
 
==Future Plans==

Revision as of 15:43, 23 November 2010


An experimental version of the OpenEmbedded (OE) repository is available for the Verdex. This repository brings a more recent Linux kernel (2.6.31) to Verdex compared with those available in the older Subversion (SVN) repository. As well, the most recent code from the OE repository is now available for Verdex-Pro COMs and the building process reflects that used on the Overo boards.

Disclaimers:

  1. This repository is unstable and the kernel may be missing features---use at your own risk.
  2. U-Boot has not yet been updated and the default kernels are larger than 1MB so flashing them to memory won't work. You'll need to run off a microSD card.
    • The point above is no longer strictly true. U-Boot 1.2.0 has been moved from the old gumstix-buildroot repository so it is possible to build and test. See this thread for more information.

The Straight Dope

Follow the basic instructions for setting up an OE repository for Overo but replace this instruction:

$ git checkout --track -b overo origin/overo
$ git checkout --track -b verdex origin/verdex

Your repository will now be tracking the Verdex branch of the Gumstix OE Git repository. Your machine type should be <tt>gumstix-verdex</tt> set in build/conf/auto.conf

Four images are available:

  • verdex-console-image
  • verdex-palmtop-image
  • verdex-desktop-image
  • verdex-gnome-image

Step by Step

These instructions assume you are using a recent release of Ubuntu where you have sudo permissions. For information about installing OpenEmbedded on other distributions, see here.

  1. Configure your system and get required and recommended software packages.
    <pre>$ sudo apt-get update</pre>
    <pre>$ sudo apt-get install -y git-core subversion build-essential help2man diffstat texi2html texinfo libncurses5-dev cvs gawk python-dev python-pysqlite2 unzip python-psyco</pre>
    <pre>$ sudo ln -sf bash /bin/sh </pre>
    <pre>$ sudo sh -c 'echo -e "vm.vdso_enabled=0\nvm.mmap_min_addr=0" >> /etc/sysctl.conf' </pre>
    <pre>$ sudo sysctl -p </pre>
  2. Download the Verdex repository and the bitbake tool into a verdex-oe directory in your home folder.
    <pre>$ mkdir -p ~/verdex-oe </pre>
    <pre>$ cd ~/verdex-oe </pre>
    <pre>$ git clone git://gitorious.org/gumstix-oe/mainline.git org.openembedded.dev </pre>
    <pre>$ cd org.openembedded.dev </pre>
    <pre>$ git checkout --track -b verdex origin/verdex </pre>
    <pre>$ cd ~/verdex-oe </pre>
    <pre>$ git clone git://git.openembedded.net/bitbake bitbake </pre>
    <pre>$ cd bitbake </pre>
    <pre>$ git checkout 1.8.18 </pre>
    <pre>$ cd ~/verdex-oe </pre>
    <pre>$ cp -r org.openembedded.dev/contrib/gumstix/build . </pre>
  3. Set up the environment variables. You can do this manually each time you open a terminal:
    <pre>$ source ~/verdex-oe/build/profile</pre>
    Or set your .bash_profile to load them automatically every time you open a console.
    <pre>$ cat ~/verdex-oe/build/profile >> ~/.bash_profile </pre>
  4. (Optional) Some tweaks...
    • If you are building on a multi-core machine, uncomment the <tt>PARALLEL_MAKE</tt> and <tt>BB_NUMBER_THREADS</tt> variables in the ~/verdex-oe/build/conf/site.conf file. Some people recommend setting these variables to <tt>n-1</tt> where <tt>n</tt> is the number of threads contexts or cores you have.
    • If you have already downloaded much of the required source code for OE (i.e. you use OpenEmbedded already for another machine like Overo or via the older SVN repository), point bitbake to your old sources directory by editing the <tt>DL_DIR</tt> in the ~/verdex-oe/build/conf/site.conf
    • Create a symbolic link into the directory where the verdex images will be built for easy access.
      <pre>$ ln -sf ~/verdex-oe/tmp/deploy/glibc/images/gumstix-verdex/ ~/verdex-oe/images</pre>
    • Get rid of a warning about a missing user.collection directory. Either make a user.collections/recipes directory
      <pre>$ mkdir -p ~/verdex-oe/user.collection/recipes</pre>
      Or, untar the Open Embedded 'helloworld' tutorial tutorial which may be useful if you want to learn more about OE. See this page for more details.
      <pre>$ tar -xzf myhelloworld.tar.gz -C ~/verdex-oe</pre>
  5. Now you are set to build a new kernel and root file system. Note, this step may take up to 6 hours depending on your internet connection and your machine. This build will stop if there are any errors. This could be useful for build debugging as well.
    <pre>$ bitbake verdex-console-image</pre>
    Note: The -k argument can be used to tell bitbake to continue building despite errors; it is useful for long, unattended builds.
    <pre>$ bitbake -k verdex-console-image</pre>
  6. Create a microSD card with a small (50MB is more than large enough) FAT partition and an Ext3 partition large enough to hold your untarred root file system. See this page for instructions. Note: It isn't necessary to follow the Installing the Boot Files instructions.
  7. Remount the card. This assumes /dev/sde1 is the FAT partition and /dev/sde2 is the Ext3 partition.
    <pre>$ sudo mkdir /media/card_fat </pre>
    <pre>$ sudo mkdir /media/card_ext </pre>
    <pre>$ sudo mount /dev/sde1 /media/card_fat </pre>
    <pre>$ sudo mount /dev/sde2 /media/card_ext </pre>
  8. Copy your kernel to the FAT partition of the microSD and untar your rootfs to the Ext3 partition. Also, we've assumed you've created a symbolic link to called images to the directory where the images are located as described in the optional steps above.
    <pre>$ sudo cp ~/verdex-oe/images/uImage-gumstix-verdex-bin /media/card_fat/uimage </pre>
    <pre>$ sudo tar -xzf ~/verdex-oe/images/verdex-console-image-verdex.tar.gz -C /media/card_ext/ </pre>
  9. Insert your microSD into your Verdex and boot it. By default, the gumstix-factory-script will try to boot from a microSD card but if your new kernel isn't loading, interrupt U-Boot on startup and issue the following commands.
    <pre>> mmcinit </pre>
    <pre>> fatload mmc 0 a2000000 uimage </pre>
    <pre>> setenv bootargs console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootdelay=1 </pre>
    <pre>> bootm a2000000</pre>
    Note, unless you <tt>saveenv</tt>, you'll need to do this each time you boot.

Future Plans

Once this repository has become more stable, it will supersede the older SVN repository as the main source of code for the Verdex COMs. This should include updated kernels and U-Boot as well as updated OE code pulled from (and eventually merged into) the Overo branch. Documentation will be refined based on this wiki page.

Problems? Improvements?

  • bug reports and, better yet, bug fixes are always welcome. Send mail to the Gumstix users mailing list and copy Ash (ash (at) gumstix (dot) com).
  • make changes to this wiki page to highlight known issues and suggest improvements