Cross-architecture compiling
Jan Dušátko
jan at dusatko.org
Wed Nov 23 14:48:32 UTC 2011
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.
I did those steps bellow, but this not work. Can someone help me?
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"
export KERNCONF=""
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
cd etc
make distribution
mkdir $DESTDIR/boot
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
More information about the freebsd-current
mailing list