Difference between revisions of "Build Environment Ubuntu 8.10"
(tvDOuulkHWzXK) |
Ashcharles (Talk | contribs) |
||
(12 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
− | + | This the current set-up for Ubuntu 8.10 with file modifications as described [http://gumstix.8.x6.nabble.com/Ubuntu-8-10-and-Open-Embeded-td645061.html on this thread]. gumstix-oe version is 318. | |
+ | |||
+ | == Setup Build Environment == | ||
+ | 1) Get Ubuntu linux 8.10, and install it on your computer; you can install a vmware version of Ubuntu too, but it will be slow during the building process. | ||
+ | |||
+ | Reconfigure sh to point to bash, not dash: | ||
+ | |||
+ | sudo dpkg-reconfigure dash | ||
+ | |||
+ | Answer no when asked whether you want to install dash as /bin/sh. | ||
+ | |||
+ | 2) Install (build-essential, help2man, diffstat, texi2html, texinfo, libncurses5-dev, cvs, gawk, python-dev, python-pysqlite2, python-psyco, ckermit, lrzsz, subversion) by using apt-get. i.e: | ||
+ | sudo apt-get install build-essential help2man diffstat texi2html texinfo libncurses5-dev cvs gawk python-dev python-pysqlite2 python-psyco ckermit lrzsz subversion | ||
+ | |||
+ | 3) Download the source from svn, caching the source code | ||
+ | mkdir ~/gumstix | ||
+ | cd ~/gumstix | ||
+ | <nowiki>svn co https://gumstix.svn.sourceforge.net/svnroot/gumstix/trunk gumstix-oe</nowiki> | ||
+ | cat gumstix-oe/extras/profile >> ~/.bashrc | ||
+ | sudo groupadd oe | ||
+ | sudo usermod -a -G oe YOUR_CURRENT_USERNAME | ||
+ | sudo mkdir /usr/share/sources | ||
+ | sudo chgrp oe /usr/share/sources | ||
+ | sudo chmod 0775 /usr/share/sources | ||
+ | sudo chmod ug+s /usr/share/sources | ||
+ | |||
+ | 4) Downgrade to gcc-4.1 and g++-4.1 and change the links: | ||
+ | |||
+ | sudo aptitude install gcc-4.1 g++-4.1 | ||
+ | sudo ln -sf /usr/bin/gcc-4.1 /usr/bin/gcc | ||
+ | sudo ln -sf /usr/bin/g++-4.1 /usr/bin/g++ | ||
+ | |||
+ | Check the links are correct using: | ||
+ | |||
+ | ls -l /usr/bin/gcc | ||
+ | ls -l /usr/bin/g++ | ||
+ | |||
+ | 5) Log out and log in again. | ||
+ | |||
+ | 6) Build the basic image, it will fail with an error in dbus: | ||
+ | |||
+ | bitbake gumstix-basic-image | ||
+ | |||
+ | Edit <code>gumstix/gumstix-oe/tmp/work/i686-linux/dbus-native-1.0.1-r0/dbus-1.0.1/dbus/dbus-sysdeps-unix.c</code> | ||
+ | |||
+ | Add this struct, | ||
+ | |||
+ | <code><pre> | ||
+ | struct ucred { | ||
+ | unsigned int pid; | ||
+ | unsigned int uid; | ||
+ | unsigned int gid; | ||
+ | }; | ||
+ | </pre></code> | ||
+ | |||
+ | after the macros. | ||
+ | |||
+ | 7) Build the basic image, it will fail with an error in sumversion: | ||
+ | |||
+ | bitbake gumstix-basic-image | ||
+ | |||
+ | Edit <code>gumstix/gumstix-oe/tmp/work/gumstix-custom-verdex-angstrom-linux-gnueabi/gumstix-kernel-2.6.21-r1/linux-2.6.21/scripts/mod/sumversion.c</code> | ||
+ | |||
+ | Add this line, | ||
+ | |||
+ | #include <limits.h> | ||
+ | |||
+ | after all of the other includes. | ||
+ | |||
+ | 8) Build the basic image again, this time it should work: | ||
+ | |||
+ | bitbake gumstix-basic-image | ||
+ | |||
+ | 9) If everything builds ok, it could be a good idea to modify the dbus-sysdeps-unix.c and sumversion.c files is their respective packages in /usr/share/sources as otherwise everytime you do a rebuild they will be wiped. | ||
+ | |||
+ | [[Category:How_to_-_general]] | ||
+ | [[Category:How_to_-_Ubuntu]] |
Latest revision as of 13:39, 1 April 2016
This the current set-up for Ubuntu 8.10 with file modifications as described on this thread. gumstix-oe version is 318.
Setup Build Environment
1) Get Ubuntu linux 8.10, and install it on your computer; you can install a vmware version of Ubuntu too, but it will be slow during the building process.
Reconfigure sh to point to bash, not dash:
sudo dpkg-reconfigure dash
Answer no when asked whether you want to install dash as /bin/sh.
2) Install (build-essential, help2man, diffstat, texi2html, texinfo, libncurses5-dev, cvs, gawk, python-dev, python-pysqlite2, python-psyco, ckermit, lrzsz, subversion) by using apt-get. i.e:
sudo apt-get install build-essential help2man diffstat texi2html texinfo libncurses5-dev cvs gawk python-dev python-pysqlite2 python-psyco ckermit lrzsz subversion
3) Download the source from svn, caching the source code
mkdir ~/gumstix cd ~/gumstix svn co https://gumstix.svn.sourceforge.net/svnroot/gumstix/trunk gumstix-oe cat gumstix-oe/extras/profile >> ~/.bashrc sudo groupadd oe sudo usermod -a -G oe YOUR_CURRENT_USERNAME sudo mkdir /usr/share/sources sudo chgrp oe /usr/share/sources sudo chmod 0775 /usr/share/sources sudo chmod ug+s /usr/share/sources
4) Downgrade to gcc-4.1 and g++-4.1 and change the links:
sudo aptitude install gcc-4.1 g++-4.1 sudo ln -sf /usr/bin/gcc-4.1 /usr/bin/gcc sudo ln -sf /usr/bin/g++-4.1 /usr/bin/g++
Check the links are correct using:
ls -l /usr/bin/gcc ls -l /usr/bin/g++
5) Log out and log in again.
6) Build the basic image, it will fail with an error in dbus:
bitbake gumstix-basic-image
Edit gumstix/gumstix-oe/tmp/work/i686-linux/dbus-native-1.0.1-r0/dbus-1.0.1/dbus/dbus-sysdeps-unix.c
Add this struct,
struct ucred {
unsigned int pid;
unsigned int uid;
unsigned int gid;
};
after the macros.
7) Build the basic image, it will fail with an error in sumversion:
bitbake gumstix-basic-image
Edit gumstix/gumstix-oe/tmp/work/gumstix-custom-verdex-angstrom-linux-gnueabi/gumstix-kernel-2.6.21-r1/linux-2.6.21/scripts/mod/sumversion.c
Add this line,
#include <limits.h>
after all of the other includes.
8) Build the basic image again, this time it should work:
bitbake gumstix-basic-image
9) If everything builds ok, it could be a good idea to modify the dbus-sysdeps-unix.c and sumversion.c files is their respective packages in /usr/share/sources as otherwise everytime you do a rebuild they will be wiped.