Added a handy message to make it clear that compiling on a 64 bit OS is causing issues. After spending over an hour of troubleshooting think it should be made clearer as it'll affect quite a few users.
With the Qemu version shipped with Debian Stretch, the `man-db` package
being installed for Buster in the image triggers many of these errors:
qemu: Unsupported syscall: 383
This is a manifestation of the following bug:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=891109
This is resolved in the current Qemu version shipped with Debian Buster.
The `(..)/raspberrypi-kernel/changelog.Debian.gz` file is not guaranteed
to be present in the built `ROOTFS_DIR`, for example when building very
minimal images without package documentation. In these cases, the `firmware`
variable will be left empty and the subsequent calls to `curl` will return
large 404 HTML content from GitHub.
Instead, simply check if the changelog file exists before using it.
* SC1091: the `config` file might not be present, which is normal.
* SC2086: Double quote to prevent globbing and word splitting.
Tested clean output using: `find -name "*.sh" -exec shellcheck -x {} \;`
* Made more specific shellcheck disables
* Fixed variable quoting (SC2086,SC2064)
* Use `$*` expansion instead of `$@` when not using arrays (SC2124)
* Use cleaner `$()` syntax instead of back quotes (SC2006)
* Improved comparator (SC2166)
* Minor improvements in coding style
Tested clean output using: `find -name "*.sh" | xargs -n1 shellcheck -x`.
Fixes#253
Rather than use --env-file, which gets overwritten by the regular config file, pass the any arguments to build-docker.sh through to build.sh.
* Tidy up and simplify function code
* Allow to pass extra arguments to debootstrap, e.g. `--variant minbase`
* Preserve compatibility with existing function calls