diff --git a/Build.Info/0001-hermetic-static-build.patch b/Build.Info/0001-hermetic-static-build.patch
new file mode 100644
index 0000000..6a9427c
--- /dev/null
+++ b/Build.Info/0001-hermetic-static-build.patch
@@ -0,0 +1,25 @@
+From 39c92fa91756747fa8eaf1fc898214658d1f8451 Mon Sep 17 00:00:00 2001
+From: John Newlin <jnewlin@google.com>
+Date: Fri, 3 Oct 2014 21:58:51 -0700
+Subject: [PATCH] Build libraries statically to make hermetic builds work.
+
+---
+ package/pkg-autotools.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk
+index 4404f15..e4e4df9 100644
+--- a/package/pkg-autotools.mk
++++ b/package/pkg-autotools.mk
+@@ -165,7 +165,7 @@ define $(2)_CONFIGURE_CMDS
+                ./configure \
+                --prefix="$$(HOST_DIR)/usr" \
+                --sysconfdir="$$(HOST_DIR)/etc" \
+-               --enable-shared --disable-static \
++               --disable-shared --enable-static \
+                --disable-gtk-doc \
+                --disable-doc \
+                --disable-docs \
+-- 
+2.1.0.rc2.206.gedb03e5
+
diff --git a/Build.Info/0002-getaddrinfo-fault.patch b/Build.Info/0002-getaddrinfo-fault.patch
new file mode 100644
index 0000000..31b7c72
--- /dev/null
+++ b/Build.Info/0002-getaddrinfo-fault.patch
@@ -0,0 +1,102 @@
+From 218e952a2caf6e1e4103e322780922800884b712 Mon Sep 17 00:00:00 2001
+From: Denton Gentry <dgentry@google.com>
+Date: Sat, 19 Dec 2015 15:53:09 -0800
+Subject: [PATCH] Fix fault in getaddrinfo.
+
+---
+ resolv/res_send.c | 28 ++++++++++++++++------------
+ 1 file changed, 16 insertions(+), 12 deletions(-)
+
+diff --git a/resolv/res_send.c b/resolv/res_send.c
+index 7f2e85f..d178dca 100644
+--- a/resolv/res_send.c
++++ b/resolv/res_send.c
+@@ -782,26 +782,26 @@ send_vc(res_state statp,
+ 		assert (anscp != NULL || ansp2 == NULL);
+ 		thisresplenp = &resplen;
+ 	} else {
+-		if (*anssizp != MAXPACKET) {
++		if (*anssizp == orig_anssizp) {
+ 			/* No buffer allocated for the first
+ 			   reply.  We can try to use the rest
+ 			   of the user-provided buffer.  */
+ #ifdef _STRING_ARCH_unaligned
+ 			*anssizp2 = orig_anssizp - resplen;
+-			*ansp2 = *ansp + resplen;
++			*ansp2 = ans + resplen;
+ #else
+ 			int aligned_resplen
+ 			  = ((resplen + __alignof__ (HEADER) - 1)
+ 			     & ~(__alignof__ (HEADER) - 1));
+ 			*anssizp2 = orig_anssizp - aligned_resplen;
+-			*ansp2 = *ansp + aligned_resplen;
++			*ansp2 = ans + aligned_resplen;
+ #endif
+-		} else {
++		} else if (*ansp2 >= ans && *ansp2 < ans + orig_anssizp) {
+ 			/* The first reply did not fit into the
+ 			   user-provided buffer.  Maybe the second
+ 			   answer will.  */
+ 			*anssizp2 = orig_anssizp;
+-			*ansp2 = *ansp;
++			*ansp2 = ans;
+ 		}
+ 
+ 		thisanssizp = anssizp2;
+@@ -823,6 +823,8 @@ send_vc(res_state statp,
+ 			}
+ 			*thisanssizp = MAXPACKET;
+ 			*thisansp = newp;
++			if (thisansp == anscp)
++				*ansp = *thisansp;
+ 			anhp = (HEADER *) newp;
+ 			len = rlen;
+ 		} else {
+@@ -1198,26 +1200,26 @@ send_dg(res_state statp,
+ 			assert (anscp != NULL || ansp2 == NULL);
+ 			thisresplenp = &resplen;
+ 		} else {
+-			if (*anssizp != MAXPACKET) {
++			if (*anssizp == orig_anssizp) {
+ 				/* No buffer allocated for the first
+ 				   reply.  We can try to use the rest
+ 				   of the user-provided buffer.  */
+ #ifdef _STRING_ARCH_unaligned
+ 				*anssizp2 = orig_anssizp - resplen;
+-				*ansp2 = *ansp + resplen;
++				*ansp2 = ans + resplen;
+ #else
+ 				int aligned_resplen
+ 				  = ((resplen + __alignof__ (HEADER) - 1)
+ 				     & ~(__alignof__ (HEADER) - 1));
+ 				*anssizp2 = orig_anssizp - aligned_resplen;
+-				*ansp2 = *ansp + aligned_resplen;
++				*ansp2 = ans + aligned_resplen;
+ #endif
+-			} else {
++			} else if (*ansp2 >= ans && *ansp2 < ans + orig_anssizp) {
+ 				/* The first reply did not fit into the
+ 				   user-provided buffer.  Maybe the second
+ 				   answer will.  */
+ 				*anssizp2 = orig_anssizp;
+-				*ansp2 = *ansp;
++				*ansp2 = ans;
+ 			}
+ 
+ 			thisanssizp = anssizp2;
+@@ -1236,8 +1238,10 @@ send_dg(res_state statp,
+                     ) {
+ 			u_char *newp = malloc (MAXPACKET);
+ 			if (newp != NULL) {
+-				*anssizp = MAXPACKET;
+-				*thisansp = ans = newp;
++				*thisanssizp = MAXPACKET;
++				*thisansp = newp;
++				if (thisansp == anscp)
++					*ansp = *thisansp;
+ 			}
+ 		}
+ 		HEADER *anhp = (HEADER *) *thisansp;
+-- 
+2.6.0.rc2.230.g3dd15c0
+
diff --git a/Build.Info/Readme.txt b/Build.Info/Readme.txt
new file mode 100644
index 0000000..d9108a1
--- /dev/null
+++ b/Build.Info/Readme.txt
@@ -0,0 +1,14 @@
+To rebuild to the toolchain:
+
+git clone git://git.buildroot.net/buildroot
+cd buildroot
+git checkout b354417dcef5805adb33cb2e3249d7c7be64cac7
+
+patch -p1 -i <path-to-this-folder>/0001-hermetic-static-build.patch
+[... do for all patches in the folder...]
+
+cp <path-to-this-folder>/bruno/Build.Info/defconfig .config
+
+make
+(this will bring up menuconfig, just exit and save)
+make -j12
diff --git a/Build.Info/defconfig b/Build.Info/defconfig
new file mode 100644
index 0000000..a050562
--- /dev/null
+++ b/Build.Info/defconfig
@@ -0,0 +1,12 @@
+BR2_arm=y
+BR2_cortex_a9=y
+BR2_ARM_ENABLE_NEON=y
+BR2_ARM_FPU_VFPV3=y
+BR2_KERNEL_HEADERS_3_2=y
+BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
+BR2_GCC_VERSION_4_9_X=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+# BR2_TARGET_GENERIC_GETTY is not set
+# BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
+BR2_PACKAGE_MAKE=y
+# BR2_TARGET_ROOTFS_TAR is not set
diff --git a/README.build b/README.build
deleted file mode 100644
index 251a290..0000000
--- a/README.build
+++ /dev/null
@@ -1,63 +0,0 @@
-To rebuild to the toolchain:
-
-Clone the buildroot depot:
-   git://git.buildroot.net/buildroot
-
-Run make menuconfig and disable everything except building the toolchain, or
-just use this as your .config in the buildroot directory
-
----------------------- .config ---------------------
-BR2_arm=y
-BR2_cortex_a9=y
-BR2_ARM_ENABLE_NEON=y
-BR2_ARM_FPU_VFPV3=y
-BR2_KERNEL_HEADERS_3_2=y
-BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
-BR2_GCC_VERSION_4_9_X=y
-BR2_TOOLCHAIN_BUILDROOT_CXX=y
-# BR2_TARGET_GENERIC_GETTY is not set
-# BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
-BR2_PACKAGE_MAKE=y
-# BR2_TARGET_ROOTFS_TAR is not set
-----------------------------------------------------
-
-
--- Next apply this patch to make all of the host build statically
-   to remove dependence on locally generated shared libs.
-
-----------------------------------------------------------------------
-From 39c92fa91756747fa8eaf1fc898214658d1f8451 Mon Sep 17 00:00:00 2001
-From: John Newlin <jnewlin@google.com>
-Date: Fri, 3 Oct 2014 21:58:51 -0700
-Subject: [PATCH] Build libraries statically to make hermetic builds work.
-
----
- package/pkg-autotools.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk
-index 4404f15..e4e4df9 100644
---- a/package/pkg-autotools.mk
-+++ b/package/pkg-autotools.mk
-@@ -165,7 +165,7 @@ define $(2)_CONFIGURE_CMDS
-                ./configure \
-                --prefix="$$(HOST_DIR)/usr" \
-                --sysconfdir="$$(HOST_DIR)/etc" \
--               --enable-shared --disable-static \
-+               --disable-shared --enable-static \
-                --disable-gtk-doc \
-                --disable-doc \
-                --disable-docs \
--- 
-2.1.0.rc2.206.gedb03e5
-----------------------------------------------------------------------
-
-Run 'make'  (go grab some coffee this will take awhile)
-
-
---
-rm -rf *
-cp -prf <path to output>
-git add -A
-git commit
-
