#!/bin/sh -x # # Build script for Realtek Modules x86 & x86_64 . /etc/init.d/tc-functions useBusybox ############################################## ## place these 2 files in /tmp dir # # realtek_compile.sh (this script) # rtl*(version).tar.gz # # note "deps" may need adjusting as at time of # build squashfs-tools-4.x.tcz was not available # in x86_64 repo # # then run this build script ############################################## name=realtek pkgdir=/tmp/${name}_build archive=$( echo rtl*z ) srcname=${archive%.tar*} ver=${srcname#*-} tceinstalled="/usr/local/tce.installed" optional_path="/etc/sysconfig/tcedir/optional" cd $optional_path tce_path=$(realpath ${PWD%/*}) ## load build deps echo -e "\n\nFetching build dependencies... " deps="compiletc.tcz \ linux-kernel-sources-env.tcz \ squashfs-tools-4.x.tcz \ bash.tcz" for i in $deps ; do pkgname=${i%.tcz} if [ ! -f ${tce_path}/optional/"$i" ]; then tce-load -wil "$pkgname" [ x$? != x0 ] && tce-load -wil "$pkgname" [ -f ${tceinstalled}/"$pkgname" ] || exit elif [ ! -f ${tceinstalled}/"$pkgname" ]; then tce-load -i "$pkgname" fi done [ -e /lib/modules/3.8.13-tinycore/build ] || cliorx linux-kernel-sources-env.sh ########################################################################### ## extract archive sleep 1 #cleanup [ $PWD == /tmp ] || cd /tmp echo -e "\n$PWD\n" [ -d "$pkgdir" ] && rm -rf "$pkgdir" sleep .5 [ -d "$pkgdir" ] || mkdir -p ${pkgdir}/$srcname tar xpvf $archive -C ${pkgdir} [ -d "$pkgdir/$srcname" ] && cd $pkgdir/$srcname ########################################################################### ##configure, make, make install set +x; echo -e "\n\n ${BLUE}Export compiler flags... ${NORMAL}"; set -x case $( uname -r ) in 3.8.13-tinycore) echo "compile flags for x86" export CFLAGS="-march=i486 -mtune=i686 -Os -pipe" export CXXFLAGS="-march=i486 -mtune=i686 -Os -pipe" ;; 3.8.13-tinycore64) echo "compile flags for x86_64" export CFLAGS="-mtune=generic -Os -pipe" export CXXFLAGS="-mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ;; esac set +x; echo "${MAGENTA}run make${NORMAL}"; sleep 0.5; set -x make module=$(ls *.ko) [ -f ${module} ] || exit strip --strip-debug --strip-unneeded ${module} gzip ${module} ########################################################################### set +x; echo "${BLUE}create extention${NORMAL}"; set -x sudo mkdir -p ${pkgdir}/pkg/lib/modules/$(uname -r)/kernel/drivers/net/wireless sudo cp ./${module}.gz ${pkgdir}/pkg/lib/modules/$(uname -r)/kernel/drivers/net/wireless sudo chown -R tc:staff ${pkgdir}/pkg sudo chown root:root ${pkgdir}/pkg/lib/modules/$(uname -r)/kernel/drivers/net/wireless/${module}.gz [ "${PWD}" == "$pkgdir" ] || cd "$pkgdir" ext=wl-rtl${module%.*}-$(uname -r).tcz [ -e ${tceinstalled}/squashfs-tools-4.x ] && mksquashfs pkg/ $ext -noappend set +x [ -f ${pkgdir}/"$ext" ] || echo "${GREEN}module in /tmp/pkg directory${NORMAL}" [ -f ${pkgdir}/"$ext" ] && echo "${GREEN}done${NORMAL}" exit