|
|
@ -30,11 +30,11 @@ esac |
|
|
|
|
|
|
|
echo_status "Preparing to build a linux kernel $pkg_linux_mode package." |
|
|
|
|
|
|
|
case "$xpkg-" in |
|
|
|
-cross-) |
|
|
|
case "$xpkg" in |
|
|
|
*-cross-*) |
|
|
|
pkg_linux_cross="${xpkg#**-cross-}" |
|
|
|
if [ $pkg_linux_mode = header ]; then |
|
|
|
echo_status "Preparing to build a linux kernel cross-headers package." |
|
|
|
. $base/package/base/gcc3-cross/cross.conf |
|
|
|
echo_status "Preparing to build a linux kernel $pkg_linux_cross cross-headers package." |
|
|
|
else |
|
|
|
echo_error "Building linux kernel cross packages isn't supported yet." |
|
|
|
exit 1 |
|
|
@ -49,13 +49,28 @@ treever=${treever/-*/} |
|
|
|
[ "$vanilla_ver" ] || vanilla_ver="$ver" |
|
|
|
srctar="linux-${vanilla_ver}.tar.bz2" |
|
|
|
|
|
|
|
lx_cpu=`echo "$arch_machine" | sed -e s/x86$/i386/ \ |
|
|
|
-e s/i.86/i386/ -e s/powerpc/ppc/ -e s/hppa/parisc/` |
|
|
|
lx_extraversion="" |
|
|
|
lx_kernelrelease="" |
|
|
|
|
|
|
|
[ $arch = sparc -a "$ROCKCFG_SPARC_64BIT_KERNEL" = 1 ] && \ |
|
|
|
lx_cpu=sparc64 |
|
|
|
if [ -z "$pkg_linux_cross" ] |
|
|
|
then |
|
|
|
lx_cpu=$( echo "$arch_machine" | \ |
|
|
|
sed -e s/x86$/i386/ -e s/powerpc/ppc/ \ |
|
|
|
-e s/hppa/parisc/ -e s/i.86/i386/ \ |
|
|
|
-e s/sun4u/sparc64/ -e s/arm.*/arm/ \ |
|
|
|
-e s/sa110/arm/ -e s/s390x/s390/ \ |
|
|
|
-e s/parisc64/parisc/ ) |
|
|
|
|
|
|
|
[ $arch = sparc -a "$ROCKCFG_SPARC_64BIT_KERNEL" = 1 ] && \ |
|
|
|
lx_cpu=sparc64 |
|
|
|
else |
|
|
|
lx_cpu=$( echo "$pkg_linux_cross" | \ |
|
|
|
sed -e s/x86$/i386/ -e s/powerpc/ppc/ \ |
|
|
|
-e s/hppa/parisc/ -e s/i.86/i386/ \ |
|
|
|
-e s/sun4u/sparc64/ -e s/arm.*/arm/ \ |
|
|
|
-e s/sa110/arm/ -e s/s390x/s390/ \ |
|
|
|
-e s/parisc64/parisc/ ) |
|
|
|
fi |
|
|
|
|
|
|
|
MAKE="$MAKE ARCH=$lx_cpu CROSS_COMPILE=$archprefix KCC=$KCC" |
|
|
|
|
|
|
@ -315,28 +330,35 @@ main_lx_header() { |
|
|
|
# patch and configure |
|
|
|
lx_config |
|
|
|
|
|
|
|
if [ -z "$pkg_linux_cross" ]; then |
|
|
|
incdir="$root/$prefix/include/" |
|
|
|
else |
|
|
|
incdir="$root/$prefix/$pkg_linux_cross-unknown-linux-gnu/include" |
|
|
|
fi |
|
|
|
|
|
|
|
# install the header files - and do some post-processing for sparc |
|
|
|
rm -rf $root/$prefix/include/{asm,asm-generic,linux,asm-sparc,asm-sparc64} |
|
|
|
mkdir -p $root/$prefix/include |
|
|
|
if [ $arch != sparc ] ; then |
|
|
|
mkdir -p $root/$prefix/include/asm |
|
|
|
cp -rv include/asm/* $root/$prefix/include/asm/ |
|
|
|
cp -rv include/{asm-generic,linux} $root/$prefix/include/ |
|
|
|
rm -rf $incdir/{asm,asm-generic,linux,asm-sparc,asm-sparc64} |
|
|
|
mkdir -p $incdir |
|
|
|
if [ "$lx_cpu" != sparc -a "$lx_cpu" != sparc64 ] |
|
|
|
then |
|
|
|
mkdir -p $incdir/asm |
|
|
|
cp -rv include/asm/* $incdir/asm/ |
|
|
|
cp -rv include/{asm-generic,linux} $incdir/ |
|
|
|
else |
|
|
|
# we can only generate this files when we have a cross compiler |
|
|
|
# which is stage 1 and above ... |
|
|
|
if [ $stagelevel -gt 0 -a $treever != 26 ] ; then |
|
|
|
# build two generated headers first ... |
|
|
|
make ARCH=sparc CROSS_COMPILE=$archprefix KCC=$KCC \ |
|
|
|
arch/sparc/kernel/Makefile check_asm |
|
|
|
[ $lx_cpu = sparc64 ] && \ |
|
|
|
make ARCH=sparc64 CROSS_COMPILE=$archprefix KCC=$KCC \ |
|
|
|
arch/sparc64/kernel/Makefile check_asm |
|
|
|
fi |
|
|
|
|
|
|
|
cp -rv include/{asm-{sparc{,64},generic},linux} $root/$prefix/include/ |
|
|
|
cp -v $confdir/generate-asm . ; chmod +x ./generate-asm |
|
|
|
./generate-asm $root/$prefix/include |
|
|
|
# we can only generate this files when we have a cross compiler |
|
|
|
# which is stage 1 and above ... |
|
|
|
if [ $stagelevel -gt 0 -a $treever != 26 ] ; then |
|
|
|
# build two generated headers first ... |
|
|
|
make ARCH=sparc CROSS_COMPILE=$archprefix KCC=$KCC \ |
|
|
|
arch/sparc/kernel/Makefile check_asm |
|
|
|
[ $lx_cpu = sparc64 ] && \ |
|
|
|
make ARCH=sparc64 CROSS_COMPILE=$archprefix KCC=$KCC \ |
|
|
|
arch/sparc64/kernel/Makefile check_asm |
|
|
|
fi |
|
|
|
|
|
|
|
cp -rv include/{asm-{sparc{,64},generic},linux} $incdir/ |
|
|
|
cp -v $confdir/generate-asm . ; chmod +x ./generate-asm |
|
|
|
./generate-asm $incdir |
|
|
|
fi |
|
|
|
} |
|
|
|
|
|
|
|