Size: 600
Comment:
|
Size: 8962
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Building a firmware for TP-LINK WR1043ND Start with the revision 30610 of the repository of OpenWRT: . mkdir ~/openwrt . cd ~/openwrt . mkdir -p dl . svn co -r30610 svn://svn.openwrt.org/openwrt/trunk r30610 . cd r30610 . . ./scripts/feeds update -a . ./scripts/feeds install -a . make menuconfig . select Target System (Atheros AR7xxx/AR9xxx) Subtarget (Generic) and Profile (TP-LINK TL-WR1043N/ND) [*] Advanced configuration options (for developers) ---> . [*] Toolchain Options ---> . [*] glibc 2.14 make defconfig . ln -sf ../dl . make download |
{{{ Partiamo da una revisione del repository svn di openwrt mkdir ~/openwrt cd ~/openwrt svn co -r30610 svn://svn.openwrt.org/openwrt/trunk r30610 cd r30610 ./scripts/feeds update -a ./scripts/feeds install -a Abbiamo come requisito l'uso di glibc come C library (invece di uClibc) Applichiamo una patch che risulta essere necessaria per compilare con glibc (https://dev.openwrt.org/ticket/9483#comment:16) riga 61 di package/base-files/files/lib/upgrade/common.sh - install_file /etc/resolv.conf /etc/functions.sh /lib/upgrade/*.sh $RAMFS_COPY_DATA + install_file /etc/resolv.conf /etc/functions.sh /lib/* /lib/upgrade/*.sh $RAMFS_COPY_DATA Prima compilazione, configuriamo solo la piattaforma make menuconfig (per selezionare Target System (Atheros AR7xxx/AR9xxx) Subtarget (Generic) e Profile (TP-LINK TL-WR1043N/ND) [*] Advanced configuration options (for developers) ---> [*] Toolchain Options ---> [*] glibc 2.14 make defconfig ln -sf ../../dl make download time ionice -c 3 nice -n 20 make (ATTENZIONE -j 2 dà problemi) (completa in circa 3 ore) Seconda compilazione, configuriamo i pacchetti che ci servono: make menuconfig [*] Advanced configuration options (for developers) ---> [*] Toolchain Options ---> [*] Build gdb [*] Build the OpenWrt SDK [*] Build the OpenWrt based Toolchain Base system ---> --- libpthread <*> librt Libraries ---> <*> libffi <*> libgcrypt --- libgpg-error <*> libiconv-full <*> libintl-full <*> libpcre <*> zlib LuCI ---> Collections ---> <M> luci Network ---> Firewall ---> --- iptables ---> --- iptables-mod-conntrack <*> iptables-mod-conntrack-extra <*> iptables-mod-ipopt --- iptables-mod-nat Routing and Redirection ---> <*> ip Kernel modules ---> Netfilter Extensions ---> --- kmod-ipt-core --- kmod-ipt-conntrack --- kmod-ipt-conntrack-extra --- kmod-ipt-ipopt time ionice -c 3 nice -n 20 make -j 2 (completa in circa 32 min) time ionice -c 3 nice -n 20 make toolchain/install -j 2 (completa in circa 9 min) cross-Compiliamo le librerie requisiti di netsukuku: pth, glib, libgee export NTK_TOOLCHAIN=~/openwrt/r30610/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_glibc-2.14 export NTK_TARGET=~/openwrt/r30610/staging_dir/target-mips_r2_glibc-2.14 export NTK_SDK_HOST=~/openwrt/r30610/build_dir/target-mips_r2_glibc-2.14/OpenWrt-SDK-ar71xx-for-Linux-i686-gcc-4.6-linaro_glibc-2.14/staging_dir/host export NTK_ROOT=~/openwrt/r30610/build_dir/target-mips_r2_glibc-2.14/root-ar71xx # questo per avere accesso agli eseguibili mips-openwrt-linux-gcc export PATH=${NTK_TOOLCHAIN}/bin:${PATH} # Questa variabile d'ambiente sembra necessaria a questa toolchain, deve essere # valorizzata sia al momento del configure sia del make. export STAGING_DIR=~/openwrt/r30610/staging_dir Posizionarsi nella directory in cui si è scompattato pth-2.0.7 STAGING_PREFIX=~/openwrt/r30610/staging_dir/target-mips_r2_glibc-2.14/usr \ PKG_CONFIG_PATH=${NTK_TARGET}/usr/lib/pkgconfig \ PATH=${NTK_SDK_HOST}/bin:$PATH \ CPPF0="-I${NTK_TARGET}/usr/include" \ CPPF1="" \ CPPF2="" \ CPPFLAGS="-Os $CPPF0 $CPPF1 $CPPF2 $CPPFLAGS" \ CF0="-I${NTK_TARGET}/usr/include" \ CF1="" \ CF2="" \ CFLAGS="-Os $CF0 $CF1 $CF2 $CFLAGS" \ L0="-L${NTK_TARGET}/usr/lib" \ L1="" \ L2="" \ LDFLAGS="-Os $L0 $L1 $L2 $LDFLAGS" \ ./configure \ --host=mips-openwrt-linux-gnu \ --prefix=/opt/pth-2.0.7 make && make install DESTDIR=~/pre-pkg/mips-glibc export PKG_INSTALL_DIR=~/pre-pkg/mips-glibc/opt/pth-2.0.7 export FINAL_DIR=~/pkg/mips-glibc/pth-2.0.7 export FINAL_DIR_DEV=~/pkg/mips-glibc/pth-2.0.7-dev mkdir -p ${FINAL_DIR_DEV} cp -a ${PKG_INSTALL_DIR}/* ${FINAL_DIR_DEV} mkdir -p ${FINAL_DIR}/lib cp -a ${PKG_INSTALL_DIR}/lib/*.so* ${FINAL_DIR}/lib mips-openwrt-linux-gnu-strip --strip-unneeded `file ${FINAL_DIR}/lib/* | grep ELF | cut -d: -f1` Posizionarsi nella directory in cui si è scompattato glib-2.28.8 # applicare le patch previste for i in ~/openwrt/r30610/feeds/packages/libs/glib2/patches/*.patch do cat $i | patch -p1 done STAGING_PREFIX=~/openwrt/r30610/staging_dir/target-mips_r2_glibc-2.14/usr \ PKG_CONFIG_PATH=${NTK_TARGET}/usr/lib/pkgconfig \ PATH=${NTK_SDK_HOST}/bin:$PATH \ CPPF0="-I${NTK_TARGET}/usr/include" \ CPPF1="-I${NTK_TARGET}/usr/lib/libintl-full/include" \ CPPF2="-I${NTK_TARGET}/usr/lib/libiconv-full/include" \ CPPFLAGS="-Os $CPPF0 $CPPF1 $CPPF2 $CPPFLAGS" \ CF0="-I${NTK_TARGET}/usr/include" \ CF1="-I${NTK_TARGET}/usr/lib/libintl-full/include" \ CF2="-I${NTK_TARGET}/usr/lib/libiconv-full/include" \ CFLAGS="-Os $CF0 $CF1 $CF2 $CFLAGS" \ L0="-L${NTK_TARGET}/usr/lib" \ L1="-L${NTK_TARGET}/usr/lib/libintl-full/lib" \ L2="-L${NTK_TARGET}/usr/lib/libiconv-full/lib" \ LDFLAGS="-Os $L0 $L1 $L2 $LDFLAGS" \ glib_cv_stack_grows=no \ glib_cv_uscore=no \ ac_cv_func_posix_getpwuid_r=yes \ ac_cv_func_posix_getgrgid_r=yes \ ./configure \ --host=mips-openwrt-linux-gnu \ --with-libiconv=gnu \ --enable-shared \ --enable-static \ --disable-selinux \ --disable-fam \ --prefix=/opt/glib-2.28.8 make && make install DESTDIR=~/pre-pkg/mips-glibc export PKG_INSTALL_DIR=~/pre-pkg/mips-glibc/opt/glib-2.28.8 export FINAL_DIR=~/pkg/mips-glibc/glib-2.28.8 export FINAL_DIR_DEV=~/pkg/mips-glibc/glib-2.28.8-dev mkdir -p ${FINAL_DIR_DEV}/include/glib-2.0 cp -a ${PKG_INSTALL_DIR}/include/glib-2.0/* ${FINAL_DIR_DEV}/include cp -a ${PKG_INSTALL_DIR}/lib/glib-2.0/include/*.h ${FINAL_DIR_DEV}/include/glib-2.0 cp -a ${PKG_INSTALL_DIR}/include/gio-unix-2.0/* ${FINAL_DIR_DEV}/include mkdir -p ${FINAL_DIR_DEV}/lib cp -a ${PKG_INSTALL_DIR}/lib/glib-2.0 ${FINAL_DIR_DEV}/lib cp -a ${PKG_INSTALL_DIR}/lib/*.{so*,a,la} ${FINAL_DIR_DEV}/lib mkdir -p ${FINAL_DIR_DEV}/lib/pkgconfig cp -a ${PKG_INSTALL_DIR}/lib/pkgconfig/*.pc ${FINAL_DIR_DEV}/lib/pkgconfig mkdir -p ${FINAL_DIR_DEV}/share/aclocal cp -a ${PKG_INSTALL_DIR}/share/aclocal/*.m4 ${FINAL_DIR_DEV}/share/aclocal mkdir -p ${FINAL_DIR}/lib cp -a ${PKG_INSTALL_DIR}/lib/*.so* ${FINAL_DIR}/lib mips-openwrt-linux-gnu-strip --strip-unneeded `file ${FINAL_DIR}/lib/* | grep ELF | cut -d: -f1` Posizionarsi nella directory in cui si è scompattato libgee-0.6.1 STAGING_PREFIX=~/openwrt/r30610/staging_dir/target-mips_r2_glibc-2.14/usr \ PKG_CONFIG_PATH=/home/luca/pkg/mips-glibc/glib-2.28.8-dev/lib/pkgconfig:${NTK_TARGET}/usr/lib/pkgconfig \ PATH=${NTK_SDK_HOST}/bin:$PATH \ CPPF0="-I${NTK_TARGET}/usr/include" \ CPPF1="-I/home/luca/pkg/mips-glibc/glib-2.28.8-dev/include" \ CPPF2="-I/home/luca/pkg/mips-glibc/glib-2.28.8-dev/lib/glib-2.0/include" \ CPPFLAGS="-Os $CPPF0 $CPPF1 $CPPF2 $CPPFLAGS" \ CF0="-I${NTK_TARGET}/usr/include" \ CF1="-I/home/luca/pkg/mips-glibc/glib-2.28.8-dev/include" \ CF2="-I/home/luca/pkg/mips-glibc/glib-2.28.8-dev/lib/glib-2.0/include" \ CFLAGS="-Os $CF0 $CF1 $CF2 $CFLAGS" \ L0="-L${NTK_TARGET}/usr/lib" \ L1="-L/home/luca/pkg/mips-glibc/glib-2.28.8-dev/lib" \ L2="" \ LDFLAGS="-Os $L0 $L1 $L2 $LDFLAGS" \ ./configure \ --host=mips-openwrt-linux-gnu \ --prefix=/opt/libgee-0.6.1 Serve che si veda la libreria glib-2 nella path assoluta in cui era stata configurata sudo ln -s $HOME/pre-pkg/mips-glibc/opt/glib-2.28.8 /opt make && make install DESTDIR=~/pre-pkg/mips-glibc sudo rm /opt/glib-2.28.8 export PKG_INSTALL_DIR=~/pre-pkg/mips-glibc/opt/libgee-0.6.1 export FINAL_DIR=~/pkg/mips-glibc/libgee-0.6.1 export FINAL_DIR_DEV=~/pkg/mips-glibc/libgee-0.6.1-dev mkdir -p ${FINAL_DIR_DEV}/include cp -a ${PKG_INSTALL_DIR}/include/* ${FINAL_DIR_DEV}/include mkdir -p ${FINAL_DIR_DEV}/lib/pkgconfig cp -a ${PKG_INSTALL_DIR}/lib/*.{so*,a,la} ${FINAL_DIR_DEV}/lib cp -a ${PKG_INSTALL_DIR}/lib/pkgconfig/*.pc ${FINAL_DIR_DEV}/lib/pkgconfig mkdir -p ${FINAL_DIR}/lib cp -a ${PKG_INSTALL_DIR}/lib/*.so* ${FINAL_DIR}/lib mips-openwrt-linux-gnu-strip --strip-unneeded `file ${FINAL_DIR}/lib/* | grep ELF | cut -d: -f1` Torniamo nella directory dove abbiamo compilato openwrt. Creata una cartella "files" per mettere configurazioni e altri files ulteriori alla compilazione. cd ~/openwrt/r30610 mkdir -p files/opt cp -a /home/luca/pkg/mips-glibc/pth-2.0.7 files/opt/pth-2.0.7 cp -a /home/luca/pkg/mips-glibc/glib-2.28.8 files/opt/glib-2.28.8 cp -a /home/luca/pkg/mips-glibc/libgee-0.6.1 files/opt/libgee-0.6.1 Rifare la compilazione del firmware time ionice -c 3 nice -n 20 make -j 2 (completa in circa 6 min) }}} |
Partiamo da una revisione del repository svn di openwrt mkdir ~/openwrt cd ~/openwrt svn co -r30610 svn://svn.openwrt.org/openwrt/trunk r30610 cd r30610 ./scripts/feeds update -a ./scripts/feeds install -a Abbiamo come requisito l'uso di glibc come C library (invece di uClibc) Applichiamo una patch che risulta essere necessaria per compilare con glibc (https://dev.openwrt.org/ticket/9483#comment:16) riga 61 di package/base-files/files/lib/upgrade/common.sh - install_file /etc/resolv.conf /etc/functions.sh /lib/upgrade/*.sh $RAMFS_COPY_DATA + install_file /etc/resolv.conf /etc/functions.sh /lib/* /lib/upgrade/*.sh $RAMFS_COPY_DATA Prima compilazione, configuriamo solo la piattaforma make menuconfig (per selezionare Target System (Atheros AR7xxx/AR9xxx) Subtarget (Generic) e Profile (TP-LINK TL-WR1043N/ND) [*] Advanced configuration options (for developers) ---> [*] Toolchain Options ---> [*] glibc 2.14 make defconfig ln -sf ../../dl make download time ionice -c 3 nice -n 20 make (ATTENZIONE -j 2 dà problemi) (completa in circa 3 ore) Seconda compilazione, configuriamo i pacchetti che ci servono: make menuconfig [*] Advanced configuration options (for developers) ---> [*] Toolchain Options ---> [*] Build gdb [*] Build the OpenWrt SDK [*] Build the OpenWrt based Toolchain Base system ---> --- libpthread <*> librt Libraries ---> <*> libffi <*> libgcrypt --- libgpg-error <*> libiconv-full <*> libintl-full <*> libpcre <*> zlib LuCI ---> Collections ---> <M> luci Network ---> Firewall ---> --- iptables ---> --- iptables-mod-conntrack <*> iptables-mod-conntrack-extra <*> iptables-mod-ipopt --- iptables-mod-nat Routing and Redirection ---> <*> ip Kernel modules ---> Netfilter Extensions ---> --- kmod-ipt-core --- kmod-ipt-conntrack --- kmod-ipt-conntrack-extra --- kmod-ipt-ipopt time ionice -c 3 nice -n 20 make -j 2 (completa in circa 32 min) time ionice -c 3 nice -n 20 make toolchain/install -j 2 (completa in circa 9 min) cross-Compiliamo le librerie requisiti di netsukuku: pth, glib, libgee export NTK_TOOLCHAIN=~/openwrt/r30610/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_glibc-2.14 export NTK_TARGET=~/openwrt/r30610/staging_dir/target-mips_r2_glibc-2.14 export NTK_SDK_HOST=~/openwrt/r30610/build_dir/target-mips_r2_glibc-2.14/OpenWrt-SDK-ar71xx-for-Linux-i686-gcc-4.6-linaro_glibc-2.14/staging_dir/host export NTK_ROOT=~/openwrt/r30610/build_dir/target-mips_r2_glibc-2.14/root-ar71xx # questo per avere accesso agli eseguibili mips-openwrt-linux-gcc export PATH=${NTK_TOOLCHAIN}/bin:${PATH} # Questa variabile d'ambiente sembra necessaria a questa toolchain, deve essere # valorizzata sia al momento del configure sia del make. export STAGING_DIR=~/openwrt/r30610/staging_dir Posizionarsi nella directory in cui si è scompattato pth-2.0.7 STAGING_PREFIX=~/openwrt/r30610/staging_dir/target-mips_r2_glibc-2.14/usr \ PKG_CONFIG_PATH=${NTK_TARGET}/usr/lib/pkgconfig \ PATH=${NTK_SDK_HOST}/bin:$PATH \ CPPF0="-I${NTK_TARGET}/usr/include" \ CPPF1="" \ CPPF2="" \ CPPFLAGS="-Os $CPPF0 $CPPF1 $CPPF2 $CPPFLAGS" \ CF0="-I${NTK_TARGET}/usr/include" \ CF1="" \ CF2="" \ CFLAGS="-Os $CF0 $CF1 $CF2 $CFLAGS" \ L0="-L${NTK_TARGET}/usr/lib" \ L1="" \ L2="" \ LDFLAGS="-Os $L0 $L1 $L2 $LDFLAGS" \ ./configure \ --host=mips-openwrt-linux-gnu \ --prefix=/opt/pth-2.0.7 make && make install DESTDIR=~/pre-pkg/mips-glibc export PKG_INSTALL_DIR=~/pre-pkg/mips-glibc/opt/pth-2.0.7 export FINAL_DIR=~/pkg/mips-glibc/pth-2.0.7 export FINAL_DIR_DEV=~/pkg/mips-glibc/pth-2.0.7-dev mkdir -p ${FINAL_DIR_DEV} cp -a ${PKG_INSTALL_DIR}/* ${FINAL_DIR_DEV} mkdir -p ${FINAL_DIR}/lib cp -a ${PKG_INSTALL_DIR}/lib/*.so* ${FINAL_DIR}/lib mips-openwrt-linux-gnu-strip --strip-unneeded `file ${FINAL_DIR}/lib/* | grep ELF | cut -d: -f1` Posizionarsi nella directory in cui si è scompattato glib-2.28.8 # applicare le patch previste for i in ~/openwrt/r30610/feeds/packages/libs/glib2/patches/*.patch do cat $i | patch -p1 done STAGING_PREFIX=~/openwrt/r30610/staging_dir/target-mips_r2_glibc-2.14/usr \ PKG_CONFIG_PATH=${NTK_TARGET}/usr/lib/pkgconfig \ PATH=${NTK_SDK_HOST}/bin:$PATH \ CPPF0="-I${NTK_TARGET}/usr/include" \ CPPF1="-I${NTK_TARGET}/usr/lib/libintl-full/include" \ CPPF2="-I${NTK_TARGET}/usr/lib/libiconv-full/include" \ CPPFLAGS="-Os $CPPF0 $CPPF1 $CPPF2 $CPPFLAGS" \ CF0="-I${NTK_TARGET}/usr/include" \ CF1="-I${NTK_TARGET}/usr/lib/libintl-full/include" \ CF2="-I${NTK_TARGET}/usr/lib/libiconv-full/include" \ CFLAGS="-Os $CF0 $CF1 $CF2 $CFLAGS" \ L0="-L${NTK_TARGET}/usr/lib" \ L1="-L${NTK_TARGET}/usr/lib/libintl-full/lib" \ L2="-L${NTK_TARGET}/usr/lib/libiconv-full/lib" \ LDFLAGS="-Os $L0 $L1 $L2 $LDFLAGS" \ glib_cv_stack_grows=no \ glib_cv_uscore=no \ ac_cv_func_posix_getpwuid_r=yes \ ac_cv_func_posix_getgrgid_r=yes \ ./configure \ --host=mips-openwrt-linux-gnu \ --with-libiconv=gnu \ --enable-shared \ --enable-static \ --disable-selinux \ --disable-fam \ --prefix=/opt/glib-2.28.8 make && make install DESTDIR=~/pre-pkg/mips-glibc export PKG_INSTALL_DIR=~/pre-pkg/mips-glibc/opt/glib-2.28.8 export FINAL_DIR=~/pkg/mips-glibc/glib-2.28.8 export FINAL_DIR_DEV=~/pkg/mips-glibc/glib-2.28.8-dev mkdir -p ${FINAL_DIR_DEV}/include/glib-2.0 cp -a ${PKG_INSTALL_DIR}/include/glib-2.0/* ${FINAL_DIR_DEV}/include cp -a ${PKG_INSTALL_DIR}/lib/glib-2.0/include/*.h ${FINAL_DIR_DEV}/include/glib-2.0 cp -a ${PKG_INSTALL_DIR}/include/gio-unix-2.0/* ${FINAL_DIR_DEV}/include mkdir -p ${FINAL_DIR_DEV}/lib cp -a ${PKG_INSTALL_DIR}/lib/glib-2.0 ${FINAL_DIR_DEV}/lib cp -a ${PKG_INSTALL_DIR}/lib/*.{so*,a,la} ${FINAL_DIR_DEV}/lib mkdir -p ${FINAL_DIR_DEV}/lib/pkgconfig cp -a ${PKG_INSTALL_DIR}/lib/pkgconfig/*.pc ${FINAL_DIR_DEV}/lib/pkgconfig mkdir -p ${FINAL_DIR_DEV}/share/aclocal cp -a ${PKG_INSTALL_DIR}/share/aclocal/*.m4 ${FINAL_DIR_DEV}/share/aclocal mkdir -p ${FINAL_DIR}/lib cp -a ${PKG_INSTALL_DIR}/lib/*.so* ${FINAL_DIR}/lib mips-openwrt-linux-gnu-strip --strip-unneeded `file ${FINAL_DIR}/lib/* | grep ELF | cut -d: -f1` Posizionarsi nella directory in cui si è scompattato libgee-0.6.1 STAGING_PREFIX=~/openwrt/r30610/staging_dir/target-mips_r2_glibc-2.14/usr \ PKG_CONFIG_PATH=/home/luca/pkg/mips-glibc/glib-2.28.8-dev/lib/pkgconfig:${NTK_TARGET}/usr/lib/pkgconfig \ PATH=${NTK_SDK_HOST}/bin:$PATH \ CPPF0="-I${NTK_TARGET}/usr/include" \ CPPF1="-I/home/luca/pkg/mips-glibc/glib-2.28.8-dev/include" \ CPPF2="-I/home/luca/pkg/mips-glibc/glib-2.28.8-dev/lib/glib-2.0/include" \ CPPFLAGS="-Os $CPPF0 $CPPF1 $CPPF2 $CPPFLAGS" \ CF0="-I${NTK_TARGET}/usr/include" \ CF1="-I/home/luca/pkg/mips-glibc/glib-2.28.8-dev/include" \ CF2="-I/home/luca/pkg/mips-glibc/glib-2.28.8-dev/lib/glib-2.0/include" \ CFLAGS="-Os $CF0 $CF1 $CF2 $CFLAGS" \ L0="-L${NTK_TARGET}/usr/lib" \ L1="-L/home/luca/pkg/mips-glibc/glib-2.28.8-dev/lib" \ L2="" \ LDFLAGS="-Os $L0 $L1 $L2 $LDFLAGS" \ ./configure \ --host=mips-openwrt-linux-gnu \ --prefix=/opt/libgee-0.6.1 Serve che si veda la libreria glib-2 nella path assoluta in cui era stata configurata sudo ln -s $HOME/pre-pkg/mips-glibc/opt/glib-2.28.8 /opt make && make install DESTDIR=~/pre-pkg/mips-glibc sudo rm /opt/glib-2.28.8 export PKG_INSTALL_DIR=~/pre-pkg/mips-glibc/opt/libgee-0.6.1 export FINAL_DIR=~/pkg/mips-glibc/libgee-0.6.1 export FINAL_DIR_DEV=~/pkg/mips-glibc/libgee-0.6.1-dev mkdir -p ${FINAL_DIR_DEV}/include cp -a ${PKG_INSTALL_DIR}/include/* ${FINAL_DIR_DEV}/include mkdir -p ${FINAL_DIR_DEV}/lib/pkgconfig cp -a ${PKG_INSTALL_DIR}/lib/*.{so*,a,la} ${FINAL_DIR_DEV}/lib cp -a ${PKG_INSTALL_DIR}/lib/pkgconfig/*.pc ${FINAL_DIR_DEV}/lib/pkgconfig mkdir -p ${FINAL_DIR}/lib cp -a ${PKG_INSTALL_DIR}/lib/*.so* ${FINAL_DIR}/lib mips-openwrt-linux-gnu-strip --strip-unneeded `file ${FINAL_DIR}/lib/* | grep ELF | cut -d: -f1` Torniamo nella directory dove abbiamo compilato openwrt. Creata una cartella "files" per mettere configurazioni e altri files ulteriori alla compilazione. cd ~/openwrt/r30610 mkdir -p files/opt cp -a /home/luca/pkg/mips-glibc/pth-2.0.7 files/opt/pth-2.0.7 cp -a /home/luca/pkg/mips-glibc/glib-2.28.8 files/opt/glib-2.28.8 cp -a /home/luca/pkg/mips-glibc/libgee-0.6.1 files/opt/libgee-0.6.1 Rifare la compilazione del firmware time ionice -c 3 nice -n 20 make -j 2 (completa in circa 6 min)