aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Oberhollenzer <goliath@infraroot.at>2021-02-12 15:23:01 +0100
committerDavid Oberhollenzer <goliath@infraroot.at>2021-02-12 16:13:39 +0100
commit7108edcbed2175fdcb47ed4fc2d11ef98bfb6682 (patch)
tree2adb82b1639c85b8f736a6957ed913e044b881ae
parent0b0efb1cd0e32a268a8ba4b89426752042a057f4 (diff)
Bump software versions
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
-rw-r--r--bbstatic.config4
-rw-r--r--crosscc.md16
-rwxr-xr-xdownload.sh14
-rw-r--r--kernel.md10
4 files changed, 24 insertions, 20 deletions
diff --git a/bbstatic.config b/bbstatic.config
index 07a3077..80c5fc0 100644
--- a/bbstatic.config
+++ b/bbstatic.config
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Busybox version: 1.32.0
-# Sun Dec 6 16:08:59 2020
+# Busybox version: 1.32.1
+# Fri Feb 12 15:21:08 2021
#
CONFIG_HAVE_DOT_CONFIG=y
diff --git a/crosscc.md b/crosscc.md
index b481d54..5176f0a 100644
--- a/crosscc.md
+++ b/crosscc.md
@@ -55,9 +55,9 @@ links below point to the exact versions that I used.
* [Linux](https://github.com/raspberrypi/linux/archive/raspberrypi-kernel_1.20201201-1.tar.gz).
Linux is a very popular OS kernel that we will use on our target system.
We need it to build the the C standard library for our toolchain.
-* [Musl](https://www.musl-libc.org/releases/musl-1.2.1.tar.gz). A tiny
+* [Musl](https://www.musl-libc.org/releases/musl-1.2.2.tar.gz). A tiny
C standard library implementation.
-* [Binutils](https://ftp.gnu.org/gnu/binutils/binutils-2.35.tar.xz). This
+* [Binutils](https://ftp.gnu.org/gnu/binutils/binutils-2.36.tar.xz). This
contains the GNU assembler, linker and various tools for working with
executable files.
* [GCC](https://ftp.gnu.org/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.xz), the GNU
@@ -109,14 +109,14 @@ Right now, you should have a directory tree that looks something like this:
* toolchain/
* bin/
* src/
- * binutils-2.35/
+ * binutils-2.36/
* gcc-10.2.0/
- * musl-1.2.1/
+ * musl-1.2.2/
* linux-raspberrypi-kernel_1.20201201-1/
* download/
- * binutils-2.35.tar.xz
+ * binutils-2.36.tar.xz
* gcc-10.2.0.tar.xz
- * musl-1.2.1.tar.gz
+ * musl-1.2.2.tar.gz
* raspberrypi-kernel_1.20201201-1.tar.gz
* sysroot/
@@ -412,7 +412,7 @@ it:
mkdir -p "$BUILDROOT/build/binutils"
cd "$BUILDROOT/build/binutils"
- srcdir="$BUILDROOT/src/binutils-2.35"
+ srcdir="$BUILDROOT/src/binutils-2.36"
From the binutils build directory we run the configure script:
@@ -557,7 +557,7 @@ We create our build directory and change there:
mkdir -p "$BUILDROOT/build/musl"
cd "$BUILDROOT/build/musl"
- srcdir="$BUILDROOT/src/musl-1.2.1"
+ srcdir="$BUILDROOT/src/musl-1.2.2"
Musl is quite easy to build but requires some special handling, because it
doesn't use autotools. The configure script is actually a hand written shell
diff --git a/download.sh b/download.sh
index 9120d4c..dca98b7 100755
--- a/download.sh
+++ b/download.sh
@@ -3,26 +3,26 @@
set -e
KERNEL="raspberrypi-kernel_1.20201201-1.tar.gz"
-MUSL="musl-1.2.1.tar.gz"
-BINUTILS="binutils-2.35.tar.xz"
+MUSL="musl-1.2.2.tar.gz"
+BINUTILS="binutils-2.36.tar.xz"
GCC="gcc-10.2.0.tar.xz"
-BUSYBOX="busybox-1.32.0.tar.bz2"
+BUSYBOX="busybox-1.32.1.tar.bz2"
mkdir -p "download" "src"
curl -L "https://github.com/raspberrypi/linux/archive/$KERNEL" > \
"download/$KERNEL"
-curl -L "https://www.musl-libc.org/releases/$MUSL" > "download/$MUSL"
+curl -L "https://musl.libc.org/releases/$MUSL" > "download/$MUSL"
curl -L "https://ftp.gnu.org/gnu/binutils/$BINUTILS" > "download/$BINUTILS"
curl -L "https://ftp.gnu.org/gnu/gcc/gcc-10.2.0/$GCC" > "download/$GCC"
curl -L "https://busybox.net/downloads/$BUSYBOX" > "download/$BUSYBOX"
cat > download.sha256 <<_EOF
-1b11659fb49e20e18db460d44485f09442c8c56d5df165de9461eb09c8302f85 download/$BINUTILS
+5788292cc5bbcca0848545af05986f6b17058b105be59e99ba7d0f9eb5336fb8 download/$BINUTILS
b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c download/$GCC
-68af6e18539f646f9c41a3a2bb25be4a5cfa5a8f65f0bb647fd2bbfdf877e84b download/$MUSL
+9b969322012d796dc23dda27a35866034fa67d8fb67e0e2c45c913c3d43219dd download/$MUSL
78760205e85a47fdf99515fc227173e1ff3cee2bbf13c344a77d85efb2ee9ec4 download/$KERNEL
-c35d87f1d04b2b153d33c275c2632e40d388a88f19a9e71727e0bbbff51fe689 download/$BUSYBOX
+9d57c4bd33974140fd4111260468af22856f12f5b5ef7c70c8d9b75c712a0dee download/$BUSYBOX
_EOF
sha256sum -c download.sha256
diff --git a/kernel.md b/kernel.md
index 82d17c2..0be39ad 100644
--- a/kernel.md
+++ b/kernel.md
@@ -114,7 +114,7 @@ cross compile the kernel and get all of this to run on the Raspberry Pi.
Unless you have used the `download.sh` script from [the cross toolchain](crosscc.md),
you will need to download and unpack the following:
-* [BusyBox](https://busybox.net/downloads/busybox-1.32.0.tar.bz2)
+* [BusyBox](https://busybox.net/downloads/busybox-1.32.1.tar.bz2)
* [Linux](https://github.com/raspberrypi/linux/archive/raspberrypi-kernel_1.20201201-1.tar.gz)
You should still have the following environment variables set from building the
@@ -163,7 +163,7 @@ Alternatively you can start from scratch by creating a default configuration:
To compile BusyBox, we'll first do the usual setup for the out-of-tree build:
- srcdir="$BUILDROOT/src/busybox-1.32.0"
+ srcdir="$BUILDROOT/src/busybox-1.32.1"
export KBUILD_OUTPUT="$BUILDROOT/build/bbstatic"
mkdir -p "$KBUILD_OUTPUT"
@@ -241,6 +241,10 @@ are the loadable kernel modules (i.e. drivers). You really want to insert
a `-j NUMBER_OF_JOBS` in the second line, or it may take a considerable amount
of time.
+Also, you *really* want to specify an argument after `-j`, otherwise the kernel
+build system will spawn processes until kingdome come (i.e. until your system
+runs out of resources and the OOM killer steps in).
+
Lastly, I installed all of it into the sysroot for convenience:
mkdir -p "$SYSROOT/boot"
@@ -254,7 +258,7 @@ The `modules_install` target creates a directory hierarchy `sysroot/lib/modules`
containing a sub directory for each kernel version with the kernel modules and
dependency information.
-The kernel binary will be circa 5 MiB in size and produce another circa 55 MiB
+The kernel binary will be circa 6 MiB in size and produce another circa 55 MiB
worth of modules because the Raspberry Pi default configuration has all bells
and whistles turned on. Fell free to adjust the kernel configuration and throw
out everything you don't need.