Differences between revisions 3 and 9 (spanning 6 versions)
Revision 3 as of 2005-05-16 11:07:03
Size: 973
Comment:
Revision 9 as of 2005-09-13 08:53:32
Size: 1412
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
Use only as much space as necessary. This includes no portage nor gcc install on target system (ipaq). The idea is to fully cross-compile the system for ipaq on a i686 host into a subdir (using the ${ROOT} portage feature) and create a jffs2 image which will be uploaded to the ipaq (leter updates will be done over nfs-mounted root). Use only as much space as necessary. This includes no portage nor gcc install on target system (ipaq). The idea is to fully cross-compile the system for ipaq on a i686 host into a subdir (using the ${ROOT} portage feature) and create a jffs2 image which will be uploaded to the ipaq (later updates will be done over nfs-mounted root).
Line 7: Line 7:
It's best if you write this to a script or so... It's best if you write this to a script...

First,
we need the tools for cross-compiling...
Line 13: Line 15:
}}}
Line 14: Line 17:
Prepare the destination directory...

{{{
mkdir /tmp/ipaq
}}}

Now, we can start building the target system...

{{{
Line 36: Line 48:

== Vapier's achievements ==

 * http://dev.gentoo.org/~vapier/CROSS-COMPILE-HOWTO
 * http://dev.gentoo.org/~vapier/CROSS-COMPILE-SYSTEM

== Other links ==

 * http://gentoo-wiki.com/Embedded_Gentoo
 * http://www.yargybot.com/Familiar/MMCFilesystem.html

The idea

Use only as much space as necessary. This includes no portage nor gcc install on target system (ipaq). The idea is to fully cross-compile the system for ipaq on a i686 host into a subdir (using the ${ROOT} portage feature) and create a jffs2 image which will be uploaded to the ipaq (later updates will be done over nfs-mounted root).

The steps

It's best if you write this to a script...

First, we need the tools for cross-compiling...

emerge crossdev

crossdev --target arm-unknown-linux-gnu

Prepare the destination directory...

mkdir /tmp/ipaq

Now, we can start building the target system...

export ARCH="arm"
export ACCEPT_KEYWORDS="arm"
export CHOST="arm-unknown-linux-gnu"
export CBUILD="i686-pc-linux-gnu"

export CFLAGS="-O2 -pipe"
export CXXFLAGS=${CFLAGS}

export ROOT="/tmp/ipaq"

export USE="-*"

export FEATURES="-distcc"

export CONFIG_PROTECT="-* ${ROOT}/etc"

### Bootstrap ###
USE="bootstrap build" emerge sysvinit
USE="bootstrap build" emerge baselayout
emerge sys-kernel/linux-headers
USE="bootstrap build" emerge sys-libs/glibc

Vapier's achievements