diff options
author | Chris Landa <stylesuxx@gmail.com> | 2016-03-05 14:01:44 +0100 |
---|---|---|
committer | Chris Landa <stylesuxx@gmail.com> | 2016-03-05 14:01:44 +0100 |
commit | f13fca1705c41ee32a26d87588bee44a59c7d82a (patch) | |
tree | 9aa0d5bed7974ba7624807bcab3f875e56b14741 | |
parent | 57c039de88cb94968c4ae6417c4ce42ce23118ea (diff) | |
download | rpi2-gen-image-f13fca1705c41ee32a26d87588bee44a59c7d82a.tar.gz rpi2-gen-image-f13fca1705c41ee32a26d87588bee44a59c7d82a.tar.bz2 rpi2-gen-image-f13fca1705c41ee32a26d87588bee44a59c7d82a.zip |
Added functionality to run custom scripts after base bootstrap
-rw-r--r-- | README.md | 3 | ||||
-rwxr-xr-x | rpi2-gen-image.sh | 8 |
2 files changed, 11 insertions, 0 deletions
@@ -92,6 +92,9 @@ Enable iptables IPv4/IPv6 firewall. Simplified ruleset: Allow all outgoing conne ##### `ENABLE_HARDNET`=false Enable IPv4/IPv6 network stack hardening settings. +##### `CHROOT_SCRIPTS`="" +Path to a directory with scripts that should be run in the chroot before the image is finally built. Every executable file in this direcory is run in lexicographical order. + ## Logging of the bootstrapping process All information related to the bootstrapping process and the commands executed by the `rpi2-gen-image.sh` script can easily be saved into a logfile. The common shell command `script` can be used for this purpose: diff --git a/rpi2-gen-image.sh b/rpi2-gen-image.sh index ff677d2..ebf4e82 100755 --- a/rpi2-gen-image.sh +++ b/rpi2-gen-image.sh @@ -74,6 +74,7 @@ ENABLE_IPTABLES=${ENABLE_IPTABLES:=false} # Image chroot path R=${BUILDDIR}/chroot +CHROOT_SCRIPTS=${CHROOT_SCRIPTS:=""} # Packages required for bootstrapping REQUIRED_PACKAGES="debootstrap debian-archive-keyring qemu-user-static binfmt-support dosfstools rsync bmap-tools whois git-core" @@ -813,6 +814,13 @@ LANG=C chroot $R apt-get -y clean LANG=C chroot $R apt-get -y autoclean LANG=C chroot $R apt-get -y autoremove +# Invoke custom scripts +if [ -n "${CHROOT_SCRIPTS}" ]; then + cp -r "${CHROOT_SCRIPTS}" "${R}/chroot_scripts" + LANG=C chroot $R bash -c 'for SCRIPT in /chroot_scripts/*; do if [ -f $SCRIPT -a -x $SCRIPT ]; then $SCRIPT; fi done;' + rm -rf "${R}/chroot_scripts" +fi + # Unmount mounted filesystems umount -l $R/proc umount -l $R/sys |