diff --git a/enforcement-case-studies.tex b/enforcement-case-studies.tex index 4d8b737..c0074ef 100644 --- a/enforcement-case-studies.tex +++ b/enforcement-case-studies.tex @@ -866,7 +866,9 @@ image for your router. It is advised that you use this configuration. ** The next instruction was 'Simply running "make" will build your firmware.' So we entered the "librecmc" directory that had been created from the above "tar" command and then ran "make". The build took about 40 minutes to run on - our system. + our system. The command used and output from running it are available here: + + enforcement-case-studies_log-output/thinkpenguin_librecmc-complete.log % FIXME: Above, I'd like to see more ``walk through'' of the step by step % instructions. The text is a bit terse: could be expanded to talk more. @@ -914,17 +916,28 @@ image for your router. It is advised that you use this configuration. mips-librecmc-linux-uclibc-gcc.bin: /lib/libc.so.6: version `GLIBC_2.14' not found (required by mips-librecmc-linux-uclibc-gcc.bin) + The complete log output (including the command used to run it) is here: + + enforcement-case-studies_log-output/thinkpenguin_u-boot-build_fail.log + * We found that by removing toolchain/bin and symlinking the toolchain built for the filesystem/kernel above in its place, we were able to complete the U-Boot build. Specifically, we symlinked toolchain/bin to: ../../staging_dir/toolchain-mips_34kc_gcc-4.6-linaro_uClibc-0.9.33.2/bin + Output from the symlink operation can be found here: + + enforcement-case-studies_log-output/thinkpenguin_u-boot-create_symlink.log + * Ideally the pre-built toolchain binaries should not be included and a symlink as mentioned above should be created by default, with a mention that the U-Boot build depends on the previous build for its toolchain. * After compilation completed successfully, we found a new U-Boot image in the bin directory. The instructions explained how to install it on the device. + Output from the successful build (after the symlink was created) is here: + + enforcement-case-studies_log-output/thinkpenguin_u-boot-finish_build.log \section{Installation} diff --git a/enforcement-case-studies_log-output/thinkpenguin_librecmc-complete.log b/enforcement-case-studies_log-output/thinkpenguin_librecmc-complete.log new file mode 100644 index 0000000..ca1e3e6 --- /dev/null +++ b/enforcement-case-studies_log-output/thinkpenguin_librecmc-complete.log @@ -0,0 +1,201 @@ +denver@cherry:~/thinkpenguin/extract/librecmc$ TMPDATE=`date`; time make; echo $?; echo "$TMPDATE"; date +Collecting package info: done +Collecting target info: done +Checking 'working-make'... ok. +Checking 'case-sensitive-fs'... ok. +Checking 'getopt'... ok. +Checking 'fileutils'... ok. +Checking 'working-gcc'... ok. +Checking 'working-g++'... ok. +Checking 'ncurses'... ok. +Checking 'zlib'... ok. +Checking 'gawk'... ok. +Checking 'unzip'... ok. +Checking 'bzip2'... ok. +Checking 'perl'... ok. +Checking '/usr/bin/python'... ok. +Checking 'wget'... ok. +Checking 'git'... ok. +Checking 'gnutar'... ok. +Checking 'svn'... ok. +Checking 'openssl'... ok. +Checking 'gnu-find'... ok. +Checking 'getopt-extended'... ok. +Checking 'non-root'... ok. + make[1] world + make[2] tools/install + make[3] -C tools/patch compile + make[3] -C tools/patch install + make[3] -C tools/m4 compile + make[3] -C tools/m4 install + make[3] -C tools/sed compile + make[3] -C tools/sed install + make[3] -C tools/libtool compile + make[3] -C tools/libtool install + make[3] -C tools/autoconf compile + make[3] -C tools/autoconf install + make[3] -C tools/pkg-config compile + make[3] -C tools/pkg-config install + make[3] -C tools/xz compile + make[3] -C tools/xz install + make[3] -C tools/automake compile + make[3] -C tools/automake install + make[3] -C tools/gmp compile + make[3] -C tools/gmp install + make[3] -C tools/mpfr compile + make[3] -C tools/mpfr install + make[3] -C tools/mpc compile + make[3] -C tools/mpc install + make[3] -C tools/libelf compile + make[3] -C tools/libelf install + make[3] -C tools/flex compile + make[3] -C tools/flex install + make[3] -C tools/bison compile + make[3] -C tools/bison install + make[3] -C tools/mklibs compile + make[3] -C tools/mklibs install + make[3] -C tools/sstrip compile + make[3] -C tools/sstrip install + make[3] -C tools/ipkg-utils compile + make[3] -C tools/ipkg-utils install + make[3] -C tools/genext2fs compile + make[3] -C tools/genext2fs install + make[3] -C tools/e2fsprogs compile + make[3] -C tools/e2fsprogs install + make[3] -C tools/mtd-utils compile + make[3] -C tools/mtd-utils install + make[3] -C tools/mkimage compile + make[3] -C tools/mkimage install + make[3] -C tools/firmware-utils compile + make[3] -C tools/firmware-utils install + make[3] -C tools/patch-image compile + make[3] -C tools/patch-image install + make[3] -C tools/findutils compile + make[3] -C tools/findutils install + make[3] -C tools/quilt compile + make[3] -C tools/quilt install + make[3] -C tools/yaffs2 compile + make[3] -C tools/yaffs2 install + make[3] -C tools/flock compile + make[3] -C tools/flock install + make[3] -C tools/padjffs2 compile + make[3] -C tools/padjffs2 install + make[3] -C tools/mm-macros compile + make[3] -C tools/mm-macros install + make[3] -C tools/xorg-macros compile + make[3] -C tools/xorg-macros install + make[3] -C tools/xfce-macros compile + make[3] -C tools/xfce-macros install + make[3] -C tools/missing-macros compile + make[3] -C tools/missing-macros install + make[3] -C tools/cmake compile + make[3] -C tools/cmake install + make[3] -C tools/scons compile + make[3] -C tools/scons install + make[3] -C tools/bc compile + make[3] -C tools/bc install + make[3] -C tools/lzma-old compile + make[3] -C tools/lzma-old install + make[3] -C tools/squashfs compile + make[3] -C tools/squashfs install + make[3] -C tools/lzma compile + make[3] -C tools/lzma install + make[3] -C tools/squashfs4 compile + make[3] -C tools/squashfs4 install + make[2] toolchain/install + make[3] -C toolchain/gdb prepare + make[3] -C toolchain/gdb compile + make[3] -C toolchain/gdb install + make[3] -C toolchain/binutils prepare + make[3] -C toolchain/binutils compile + make[3] -C toolchain/binutils install + make[3] -C toolchain/gcc/minimal prepare + make[3] -C toolchain/gcc/minimal compile + make[3] -C toolchain/gcc/minimal install + make[3] -C toolchain/kernel-headers prepare + make[3] -C toolchain/kernel-headers compile + make[3] -C toolchain/kernel-headers install + make[3] -C toolchain/uClibc/headers prepare + make[3] -C toolchain/uClibc/headers compile + make[3] -C toolchain/uClibc/headers install + make[3] -C toolchain/gcc/initial prepare + make[3] -C toolchain/gcc/initial compile + make[3] -C toolchain/gcc/initial install + make[3] -C toolchain/uClibc prepare + make[3] -C toolchain/uClibc compile + make[3] -C toolchain/uClibc install + make[3] -C toolchain/gcc/final prepare + make[3] -C toolchain/gcc/final compile + make[3] -C toolchain/gcc/final install + make[3] -C toolchain/uClibc/utils prepare + make[3] -C toolchain/uClibc/utils compile + make[3] -C toolchain/uClibc/utils install + make[2] target/compile + make[3] -C target/linux compile + make[2] package/cleanup + make[2] package/compile + make[3] -C package/libs/toolchain compile + make[3] -C package/libs/libnl-tiny compile + make[3] -C package/libs/libjson-c compile + make[3] -C package/utils/lua compile + make[3] -C package/libs/libubox compile + make[3] -C package/system/ubus compile + make[3] -C package/system/uci compile + make[3] -C package/network/config/netifd compile + make[3] -C package/system/opkg host-compile + make[3] -C package/system/ubox compile + make[3] -C package/system/procd compile + make[3] -C package/base-files compile + make[3] -C package/boot/uboot-envtools compile + make[3] -C package/kernel/gpio-button-hotplug compile + make[3] -C package/kernel/linux compile + make[3] -C package/network/services/hostapd compile + make[3] -C package/network/utils/iw compile + make[3] -C package/kernel/mac80211 compile + make[3] -C package/libs/gettext compile + make[3] -C package/libs/libiconv compile + make[3] -C package/libs/libtool compile + make[3] -C package/libs/cyassl compile + make[3] -C package/libs/ocf-crypto-headers compile + make[3] -C package/libs/zlib compile + make[3] -C package/libs/openssl compile + make[3] -C package/libs/polarssl compile + make[3] -C package/libs/ustream-ssl compile + make[3] -C package/luci/contrib/package/freifunk-common compile + make[3] -C package/network/utils/iptables compile + make[3] -C package/network/config/firewall compile + make[3] -C package/network/utils/iproute2 compile + make[3] -C package/luci/contrib/package/freifunk-gwcheck compile + make[3] -C package/luci/contrib/package/freifunk-mapupdate compile + make[3] -C package/network/services/uhttpd compile + make[3] -C package/network/utils/iwinfo compile + make[3] -C package/utils/lua host-compile + make[3] -C package/utils/px5g compile + make[3] -C package/network/services/relayd compile + make[3] -C package/luci/contrib/package/luci compile + make[3] -C package/network/config/swconfig compile + make[3] -C package/network/ipv6/odhcp6c compile + make[3] -C package/network/services/dnsmasq compile + make[3] -C package/network/services/dropbear compile + make[3] -C package/network/services/odhcpd compile + make[3] -C package/libs/libpcap compile + make[3] -C package/network/utils/linux-atm compile + make[3] -C package/network/utils/resolveip compile + make[3] -C package/network/services/ppp compile + make[3] -C package/system/mtd compile + make[3] -C package/system/opkg compile + make[3] -C package/utils/busybox compile + make[2] package/install + make[3] package/preconfig + make[2] target/install + make[3] -C target/linux install + make[3] -C target/toolchain install + make[2] package/index + +real 38m37.344s +user 30m46.725s +sys 6m33.225s +0 +Fri Oct 17 09:44:56 EDT 2014 +Fri Oct 17 10:23:34 EDT 2014 +denver@cherry:~/thinkpenguin/extract/librecmc$ diff --git a/enforcement-case-studies_log-output/thinkpenguin_u-boot-build_fail.log b/enforcement-case-studies_log-output/thinkpenguin_u-boot-build_fail.log new file mode 100644 index 0000000..65e81e4 --- /dev/null +++ b/enforcement-case-studies_log-output/thinkpenguin_u-boot-build_fail.log @@ -0,0 +1,22 @@ +denver@cherry:~/thinkpenguin/extract/librecmc-u-boot$ TMPDATE=`date`; time make tplink_wr841n_v8; echo $?; echo "$TMPDATE"; date +======= Configuring for TP-Link TL-WR841N/D v8 at: Fri Oct 17 11:22:10 EDT 2014 ======= +mips-librecmc-linux-uclibc-gcc.bin: /lib/libc.so.6: version `GLIBC_2.14' not found (required by mips-librecmc-linux-uclibc-gcc.bin) +Makefile:219: warning: overriding commands for target `board/ar7240/db12x/libdb12x.a' +Makefile:188: warning: ignoring old commands for target `board/ar7240/db12x/libdb12x.a' +Makefile:219: warning: overriding commands for target `cpu/mips/libmips.a' +Makefile:188: warning: ignoring old commands for target `cpu/mips/libmips.a' +Makefile:219: warning: overriding commands for target `cpu/mips/ar7240/libar7240.a' +Makefile:188: warning: ignoring old commands for target `cpu/mips/ar7240/libar7240.a' +mips-librecmc-linux-uclibc-gcc.bin: /lib/libc.so.6: version `GLIBC_2.14' not found (required by mips-librecmc-linux-uclibc-gcc.bin) +mips-librecmc-linux-uclibc-gcc.bin: /lib/libc.so.6: version `GLIBC_2.14' not found (required by mips-librecmc-linux-uclibc-gcc.bin) +make[2]: *** No rule to make target `.depend'. Stop. +make[1]: *** [depend] Error 2 +make: *** [tplink_wr841n_v8] Error 2 + +real 0m0.070s +user 0m0.017s +sys 0m0.061s +2 +Fri Oct 17 11:22:10 EDT 2014 +Fri Oct 17 11:22:10 EDT 2014 +denver@cherry:~/thinkpenguin/extract/librecmc-u-boot$ diff --git a/enforcement-case-studies_log-output/thinkpenguin_u-boot-create_symlink.log b/enforcement-case-studies_log-output/thinkpenguin_u-boot-create_symlink.log new file mode 100644 index 0000000..64ddfac --- /dev/null +++ b/enforcement-case-studies_log-output/thinkpenguin_u-boot-create_symlink.log @@ -0,0 +1,4 @@ +denver@cherry:~/thinkpenguin/extract/librecmc-u-boot$ mv toolchain/bin toolchain/old_bin +denver@cherry:~/thinkpenguin/extract/librecmc-u-boot$ cd toolchain/ +denver@cherry:~/thinkpenguin/extract/librecmc-u-boot/toolchain$ ln -s ../../librecmc/staging_dir/toolchain-mips_34kc_gcc-4.6-linaro_uClibc-0.9.33.2/bin . +denver@cherry:~/thinkpenguin/extract/librecmc-u-boot/toolchain$ diff --git a/enforcement-case-studies_log-output/thinkpenguin_u-boot-finish_build.log b/enforcement-case-studies_log-output/thinkpenguin_u-boot-finish_build.log new file mode 100644 index 0000000..5567e2a --- /dev/null +++ b/enforcement-case-studies_log-output/thinkpenguin_u-boot-finish_build.log @@ -0,0 +1,116 @@ +denver@cherry:~/thinkpenguin/extract/librecmc-u-boot$ TMPDATE=`date`; time make tplink_wr841n_v8; echo $?; echo "$TMPDATE"; date +Makefile:219: warning: overriding commands for target `board/ar7240/db12x/libdb12x.a' +Makefile:188: warning: ignoring old commands for target `board/ar7240/db12x/libdb12x.a' +Makefile:219: warning: overriding commands for target `cpu/mips/libmips.a' +Makefile:188: warning: ignoring old commands for target `cpu/mips/libmips.a' +Makefile:219: warning: overriding commands for target `cpu/mips/ar7240/libar7240.a' +Makefile:188: warning: ignoring old commands for target `cpu/mips/ar7240/libar7240.a' +======= Configuring for TP-Link TL-WR841N/D v8 at: Fri Oct 17 11:29:30 EDT 2014 ======= +Makefile:219: warning: overriding commands for target `board/ar7240/db12x/libdb12x.a' +Makefile:188: warning: ignoring old commands for target `board/ar7240/db12x/libdb12x.a' +Makefile:219: warning: overriding commands for target `cpu/mips/libmips.a' +Makefile:188: warning: ignoring old commands for target `cpu/mips/libmips.a' +Makefile:219: warning: overriding commands for target `cpu/mips/ar7240/libar7240.a' +Makefile:188: warning: ignoring old commands for target `cpu/mips/ar7240/libar7240.a' +a - crc32.o +a - ctype.o +a - display_options.o +a - ldiv.o +a - string.o +a - vsprintf.o +a - LzmaWrapper.o +a - LzmaDecode.o +a - main.o +a - cmd_bootm.o +a - cmd_boot.o +a - cmd_flash.o +a - cmd_mem.o +a - cmd_custom.o +a - cmd_net.o +a - cmd_nvedit.o +a - cmd_itest.o +a - command.o +a - console.o +a - devices.o +a - dlmalloc.o +a - environment.o +a - env_common.o +a - env_nowhere.o +a - exports.o +a - flash.o +a - lists.o +a - env_flash.o +a - hush.o +a - db12x.o +a - ../common/ar7240_pci.o +a - ../common/ar7240_flash.o +a - ../common/athrs27_phy.o +a - ../common/lowlevel_init_934x.o +a - cpu.o +a - cache.o +meminit.c: In function 'wasp_ddr_initial_config': +meminit.c:242:2: warning: 'type' may be used uninitialized in this function [-Wuninitialized] +meminit.c:205:2: warning: 'tap_val' may be used uninitialized in this function [-Wuninitialized] +meminit.c:223:2: warning: 'cycle_val' may be used uninitialized in this function [-Wuninitialized] +meminit.c:186:3: warning: 'ext_mod' may be used uninitialized in this function [-Wuninitialized] +meminit.c:164:2: warning: 'ddr_config2' may be used uninitialized in this function [-Wuninitialized] +meminit.c:161:2: warning: 'ddr_config' may be used uninitialized in this function [-Wuninitialized] +ar7240_serial.c: In function 'ar7240_sys_frequency': +ar7240_serial.c:51:52: warning: unused variable 'frac' [-Wunused-variable] +ar7240_serial.c:51:45: warning: unused variable 'nfrac' [-Wunused-variable] +a - meminit.o +a - ar7240_serial.o +a - ag934x.o +a - board.o +a - time.o +a - mips_linux.o +a - netconsole.o +a - pci.o +a - net.o +a - tftp.o +a - rarp.o +a - eth.o +a - bootp.o +a - sntp.o +a - httpd.o +a - date.o +a - uip.o +a - uip_arch.o +a - uip_arp.o +a - httpd.o +a - fs.o +a - bootstrap_board.o +a - LzmaDecode.o +a - string.o +a - crc32.o +a - LzmaWrapper.o +a - time.o +Image Name: u-boot image +Created: Fri Oct 17 11:29:34 2014 +Image Type: MIPS Linux Firmware (lzma compressed) +Data Size: 48569 Bytes = 47.43 kB = 0.05 MB +Load Address: 0x80010000 +Entry Point: 0x80010000 +make[1]: Entering directory `/home/denver/thinkpenguin/extract/librecmc-u-boot' + +======= Preparing 64KB file filled with 0xFF... ======= +64+0 records in +128+0 records out +65536 bytes (66 kB) copied, 0.000202628 s, 323 MB/s + +======= Copying U-Boot image... ======= +123+1 records in +123+1 records out +63305 bytes (63 kB) copied, 0.000114554 s, 553 MB/s + +======= U-Boot image ready, size: 65536 bytes ======= + +make[1]: Leaving directory `/home/denver/thinkpenguin/extract/librecmc-u-boot' + +real 0m3.658s +user 0m2.643s +sys 0m1.052s +0 +Fri Oct 17 11:29:30 EDT 2014 +Fri Oct 17 11:29:34 EDT 2014 +denver@cherry:~/thinkpenguin/extract/librecmc-u-boot$