diff --git a/README.md b/README.md index d04743e..8278052 100644 --- a/README.md +++ b/README.md @@ -9,12 +9,39 @@ See https://wiki.debian.org/RaspberryPi3#Preview_image for where to obtain the l ## Option 2: Building your own image -If you prefer, you can build a Debian buster Raspberry Pi 3 image using: +If you prefer, you can build a Debian buster Raspberry Pi 3 image yourself. For +this, first install the +[requirements](https://github.com/larswirzenius/vmdb2/blob/master/README#getting-vmdb2) +of vmdb2. Then run the following: ```shell git clone --recursive https://github.com/Debian/raspi3-image-spec cd raspi3-image-spec -sudo ./vmdb2/vmdb2 --output raspi3.img raspi3.yaml --log raspi3.log +``` + +Then edit [raspi3.yaml](raspi3.yaml) to select the Debian repository that you +want to use: + +- If you want to use the snapshot with which the build was tested, use + `http://snapshot.debian.org/archive/debian/20171007T213914Z/`. This is what + is pre-configured in raspi3.yaml. However, due to a [missing + feature](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=763419) on + snapshots, to make the build work, you have to disable an expiration check + by APT. To do so, edit raspi3.yaml to replace all + `apt-get` invocations with `apt-get -o Acquire::Check-Valid-Until=false` +- If you want to use the latest versions of each software, you can replace + `http://snapshot.debian.org/archive/debian/20171007T213914Z/` in raspi3.yaml + with `http://deb.debian.org/debian`. Of course, this means that the + build may break or fail to boot if there are regressions in the latest + versions. + +Once you have edited raspi3.yaml, you can generate the image by +issuing the following: + +```shell +umask 022 +sudo env -i LC_CTYPE=C.UTF-8 PATH="$PATH" \ + ./vmdb2/vmdb2 --output raspi3.img raspi3.yaml --log raspi3.log ``` ## Installing the image onto the Raspberry Pi 3 @@ -36,6 +63,3 @@ ssh root@rpi3 # Enter password “raspberry” ``` -## Reproducibility - -The image currently uses http://snapshot.debian.org/archive/debian/20171007T213914Z/ for ensuring a reproducible build.