Cross-architecture compiling
Boris Samorodov
bsam at passap.ru
Wed Nov 23 19:16:13 UTC 2011
Hi All,
23.11.2011 18:37, Jan Dušátko пишет:
> Hi,
>
> I would like to ask people in this conference for advice regards
> cross-architecture compiling.
> Right now I have 32-bit system, where I need to boot over TFTP/NFS diferrent
> architectures (i386/AMD64). I need to populate appropriate directory
> structure using some "generalized" kernel configuration, each platform have
> thein own kernel.conf.
At my previous $JOB we configured an amd64 system to load i386 diskless
stations.
> I did those steps bellow, but this not work. Can someone help me?
"Not work" is not a diagnostic message. Please, be more specific here.
> Regards
>
> Jan
>
>
> #!bin/sh
> export CC="/usr/cross/usr/bin/gcc"
> export AS="/usr/cross/usr/bin/as"
> export NM="/usr/cross/usr/bin/nm"
> export RANLIB=/usr/cross/usr/bin/ranlib"
> export LD="/usr/cross/usr/bin/ld"
> export OBJCOPY="/usr/cross/usr/bin/objcopy"
> export SIZE="/usr/cross/usr/bin/size"
> export CPUTYPE="native"
I'm not sure if those varialbes are needed.
> export KERNCONF=""
Well, does this really work? Is it the same as KERNCONF=GENERIC?
Not sure.
> for TARGET_ARCH in i386 amd64
> do
> export MACHINE=${TARGET_ARCH}
> export MACHINE_ARCH=${TARGET_ARCH}
> export DESTDIR="/pxeboot/diskless/${TARGET_ARCH}"
> mkdir $DESTDIR
> mkdir -p ${DESTDIR}usr/bin
> mkdir -p ${DESTDIR}usr/lib
> mkdir -p ${DESTDIR}usr/include
> mkdir -p ${DESTDIR}usr/share/man/man1
> mkdir -p ${DESTDIR}usr/share/info
> mkdir -p ${DESTDIR}usr/libdata/ldscripts
> mkdir -p ${DESTDIR}usr/libexec
> cd /usr/obj
> rm -rf usr
> cd /usr/src
> make world TARGET_ARCH=$TARGET_ARCH TOOLS_PREFIX=$DESTDIR
> DESTDIR=$DESTDIR install
> make kernel TARGET_ARCH=$TARGET_ARCH TOOLS_PREFIX=$DESTDIR
> DESTDIR=$DESTDIR install
I'm not sure about TOOLS_PREFIX (do not recall we used it).
> cd etc
I'd say this is not needed.
> make distribution
And that should be "make distribution DESTDIR=$DESTDIR".
> mkdir $DESTDIR/boot
That directory should already present.
And the rest I don't understand (may be OK).
> cp /boot/device.hints $DESTDIR/boot
> done
> mkdir -p /pxeboot/diskless/conf/default/etc
> ln -s /pxeboot/diskless/conf/default /pxeboot/diskless/i386/conf/default
> ln -s /pxeboot/diskless/conf/default /pxeboot/diskless/amd64/conf/default
--
WBR, Boris Samorodov (bsam)
FreeBSD Committer, http://www.FreeBSD.org The Power To Serve
More information about the freebsd-current
mailing list