On 30/03/06, Stanisław Raczyński <[EMAIL PROTECTED]> wrote: > Derick Swanepoel wrote: > > >Hi, > > > >I'm busy building a cross-compile environment for an ARM (XScale) in an x86 > >host environment, but I'm having trouble emerging packages like procps and > >gdb which require headers from /usr/include. > > > > > What do you need procps for? If you're using busybox, it already > contains ps, free, top and kill and it should be enough for most > embedded systems.
I am building a small ramdisk with busybox, but I would also like to build a more complete, full-featured environment such as the ARM stage3. However, I have the same __fixdfsi symbol problem with many of the busybox applets, e.g. awk and top. > >I've built an armeb-softfloat-linux-uclibc cross toolchain with crossdev > >which can successfully compile uclibc, bash, baselayout, etc. and install > >in ROOT=/gentoo-arm. However, when I try to emerge something like procps, > >it fails to find curses.h and termcap.h. Where should the cross-compiler be > >looking for these headers? > > > > > Is ROOT the only variable you set? There are some other important vars, > like ARCH, CBUILD, CHOST, CTARGET. Many others are also useful while > cross-emerging. I have a wrapper script that sets these variables when I emerge. > >Another problem I have is that gawk (3.1.4-r4) fails to execute with: > >awk: can't resolve symbol '__fixdfsi' > >As far as I can determine, __fixdfsi is one of GCC's softfloat library > >routines. I have since had to modify my cross-gcc to generate binaries using the FPA floating point mode instead of VFP, and now several other busybox applets can't resolve symbol __udivsi3. df, du, ping and wget all fail this way. I am still trying to determine what code generates this function, and why certain binaries contain it while others don't. Any help in this regard would be greatly appreciated. I'm becoming quite desperate :/ Thanks, Derick > >I would really like to know how the armeb-uclibc-softfloat stages (found in > >experimental/arm/embedded on various Gentoo mirrors) were built. > > > > > As far as I know, they use catalyst. > > >Thanks, > >Derick > > > > > > > I am building small Embedded Gentoo systems for i686 and ARM920T > architectures and for that I wrote a little script called egg > (attached). Perhaps you will find it useful. To create such a system for > arm920t (baselayout+uclibc+busybox), I'd simply run: > > # crossdev -t arm-unknown-linux-uclibc > # egg -l uclibc -a arm920t -o /home/gentoo-for-arm > > Later, to add some packages (e.g. dropbear and ncurses) I'd write: > > # egg -l uclibc -a arm920t -o /home/gentoo-for-arm -fn dropbear ncurses > > And finally, when I'm satisfied with my rootfs, I can strip it off > unnecessary trash: > > # egg -l uclibc -arm920t -o /home/gentoo-for-arm -fns > > This is an extremely simple tool (e.g. you can't set USE flags for > individual packages), but still I find it quite sufficient for my work. > You can use it to generate a rootfs for an armeb architecture just by > adding it to parse_arch() function. If you do that, don't forget to send > me the updated version. > > Hope you find it useful, > Stanislaw Raczynski -- [email protected] mailing list
