This is just a memorandum of my personal instructions to cross-build linux kernel for EdgeRouter Lite (ERLite-3). I’ve been using ERLite-3 with the latest Linux kernels for three years. The user land distribution I use is Debian. It works quite well for my usage of PPPoE router at home.
The important thing is to set BFD target name “mips64-unknown-linux-gnu”.
Buinding cross binutils
$ cd binutils-x.y.z $ mkdir build $ cd build $ ../configure --target=mips64-unknown-linux-gnu --prefix=/opt $ make $ sudo make install
Building gcc
$ cd gcc-x.y.z $ mkdir build $ cd build $ ../configure --target=mips64-unknown-linux-gnu --prefix=/opt --enable-languages=c --with-float=soft --disable-threads --without-ppl --without-cloog --disable-nls --disable-plugin --disable-shared --disable-tls --disable-sjlj-exceptions --disable-libssp --disable-libmudflap --disable-libgomp --disable-libquadmath --disable-libstdc__-v3 --disable-libitm $ make $ sudo make install
Building Linux kernel
# cd /src/linux-3.18.9 # export ARCH=mips # export CROSS_COMPILE=mips64-unknown-linux-gnu- # cp ../linux-3.14.1/.config . # make oldconfig # make # make modules_install INSTALL_MOD_PATH=/nfsroot # mips64-unknown-linux-gnu-strip vmlinux
Kernel Config
Here is my kernel configuration for Linux 4.2. I hope it helps you.