diff --git a/distro/packages/base.scm b/distro/packages/base.scm
index fc1de80b20a125308b4796418edb5a43d7efabf8..107ca55098a1d1f1667038c1196c4053955afdbc 100644
--- a/distro/packages/base.scm
+++ b/distro/packages/base.scm
@@ -1496,7 +1496,7 @@ (define %bootstrap-coreutils&co
                                  system "/static-binaries.tar.xz"))
                            (sha256
                             (base32
-                             "0bvhkzahjgf6w5i3db5bjgq8kqm6xdr23lig0s1p8fgdqbfp0bzm"))))
+                             "0azisn8l2b3cvgni9k0ahzsxs5cxrj0hmf38zgpq3k6pggk3zbfm"))))
                         "true"                    ; the program to test
                         "Bootstrap binaries of Coreutils, Awk, etc."))
 
@@ -2200,10 +2200,22 @@ (define (copy-directory source destination)
                                      (string-append bin "/" name)))))
                       (alist-delete "coreutils" %build-inputs))
 
+            ;; But of course, there are exceptions to this rule.
+            (let ((grep (assoc-ref %build-inputs "grep")))
+              (copy-file (string-append grep "/bin/fgrep")
+                         (string-append bin "/fgrep"))
+              (copy-file (string-append grep "/bin/egrep")
+                         (string-append bin "/egrep")))
+
             ;; Clear references to the store path.
             (for-each remove-store-references
                       (directory-contents bin))
 
+            (with-directory-excursion bin
+              ;; Programs such as Perl's build system want these aliases.
+              (symlink "bash" "sh")
+              (symlink "gawk" "awk"))
+
             #t)))))
     (description "Statically-linked bootstrap binaries")
     (long-description
diff --git a/distro/packages/bootstrap/x86_64-linux/bash b/distro/packages/bootstrap/x86_64-linux/bash
index 81114f79c3702c3088eab434253728ee6016d9f5..3b0227fbb1a8193a55c64a88aa7d4d1d9dfaf2e1 100755
Binary files a/distro/packages/bootstrap/x86_64-linux/bash and b/distro/packages/bootstrap/x86_64-linux/bash differ
diff --git a/distro/packages/bootstrap/x86_64-linux/mkdir b/distro/packages/bootstrap/x86_64-linux/mkdir
index 226865dfe68e98173aa5849da99d05343fa48412..7207ad8a46fcec16d204304c4e47425bf983ec53 100755
Binary files a/distro/packages/bootstrap/x86_64-linux/mkdir and b/distro/packages/bootstrap/x86_64-linux/mkdir differ
diff --git a/distro/packages/bootstrap/x86_64-linux/tar b/distro/packages/bootstrap/x86_64-linux/tar
index c9a2c27d13b408fbabd8a9fad395b87f3769269e..9104da7b53eec07393cc92bbc22441a01d5822b6 100755
Binary files a/distro/packages/bootstrap/x86_64-linux/tar and b/distro/packages/bootstrap/x86_64-linux/tar differ
diff --git a/distro/packages/bootstrap/x86_64-linux/xz b/distro/packages/bootstrap/x86_64-linux/xz
index 02f9014740d4c0852bc4158a08536f674b8a9853..488e319b373df7091829652254a7a9b3e18ab149 100755
Binary files a/distro/packages/bootstrap/x86_64-linux/xz and b/distro/packages/bootstrap/x86_64-linux/xz differ