##// END OF EJS Templates
Dropbear initramfs...
Dropbear initramfs - Enable dropbear in initramfs with cryptfs_cropbear=true - dropbear initramfs supports static and dyn. ip - dropbear uses provided ip_config NET_* - bluetooth with serial improved - ipv6 legacy firewalling - add cleanup to videocore - improved apt-cacher-ng detection

Fichier de la dernière révision:

r501:3c3d6ac60789
r501:3c3d6ac60789
Show More
functions.sh
85 lines | 2.4 KiB | application/x-sh | BashLexer
drtyhlpr
Added Raspberry Pi 3 model support
r94 # This file contains utility functions used by rpi23-gen-image.sh
Jan Wagner
spliting more files, fix-uboot, fix-fbturbo, fix-locale
r67
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56 cleanup (){
set +x
set +e
Jan Wagner
spliting more files, fix-uboot, fix-fbturbo, fix-locale
r67
# Identify and kill all processes still using files
Filip Pytloun
Enhance cleanup by killing processes running in endpoint
r59 echo "killing processes using mount point ..."
Jan Wagner
fix: ENABLE_CRYPTFS -> UBOOT, SPLITFS, EXPANDROOT - cleanup
r82 fuser -k "${R}"
Filip Pytloun
Enhance cleanup by killing processes running in endpoint
r59 sleep 3
Jan Wagner
fix: ENABLE_CRYPTFS -> UBOOT, SPLITFS, EXPANDROOT - cleanup
r82 fuser -9 -k -v "${R}"
Jan Wagner
spliting more files, fix-uboot, fix-fbturbo, fix-locale
r67
Jan Wagner
shred-fix
r78 # Clean up temporary .password file
if [ -r ".password" ] ; then
shred -zu .password
fi
Jan Wagner
spliting more files, fix-uboot, fix-fbturbo, fix-locale
r67 # Clean up all temporary mount points
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56 echo "removing temporary mount points ..."
Jan Wagner
fix: ENABLE_CRYPTFS -> UBOOT, SPLITFS, EXPANDROOT - cleanup
r82 umount -l "${R}/proc" 2> /dev/null
umount -l "${R}/sys" 2> /dev/null
umount -l "${R}/dev/pts" 2> /dev/null
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56 umount "$BUILDDIR/mount/boot/firmware" 2> /dev/null
umount "$BUILDDIR/mount" 2> /dev/null
Jan Wagner
Added: ENABLE_CRYPTFS - encrypted rootfs, use-latest-bootloader, cp-cleanup
r77 cryptsetup close "${CRYPTFS_MAPPING}" 2> /dev/null
Vincent Knecht
Added ENABLE_SPLITFS option to produce distinct /boot/firmware and root images
r66 losetup -d "$ROOT_LOOP" 2> /dev/null
losetup -d "$FRMW_LOOP" 2> /dev/null
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56 trap - 0 1 2 3 6
}
chroot_exec() {
# Exec command in chroot
Unknown
fixes...
r420 LANG=C LC_ALL=C DEBIAN_FRONTEND=noninteractive chroot "${R}" "$@"
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56 }
Jan Wagner
spliting more files, fix-uboot, fix-fbturbo, fix-locale
r67
Petter Reinholdtsen
Introduce as_nobody() function to make it easier to control how it is done....
r174 as_nobody() {
# Exec command as user nobody
Unknown
fixes...
r420 sudo -E -u nobody LANG=C LC_ALL=C "$@"
Petter Reinholdtsen
Introduce as_nobody() function to make it easier to control how it is done....
r174 }
Jan Wagner
spliting more files, fix-uboot, fix-fbturbo, fix-locale
r67 install_readonly() {
# Install file with user read-only permissions
Unknown
fixes...
r420 install -o root -g root -m 644 "$@"
Jan Wagner
spliting more files, fix-uboot, fix-fbturbo, fix-locale
r67 }
install_exec() {
# Install file with root exec permissions
Unknown
fixes...
r420 install -o root -g root -m 744 "$@"
Jan Wagner
spliting more files, fix-uboot, fix-fbturbo, fix-locale
r67 }
drtyhlpr
Added: Configuration template file support (testing)
r117
use_template () {
# Test if configuration template file exists
if [ ! -r "./templates/${CONFIG_TEMPLATE}" ] ; then
echo "error: configuration template ${CONFIG_TEMPLATE} not found"
exit 1
fi
# Load template configuration parameters
. "./templates/${CONFIG_TEMPLATE}"
}
drtyhlpr
Updated: Dropping privileges, chroot compiler install, dropbear sshd config
r142
chroot_install_cc() {
# Install c/c++ build environment inside the chroot
if [ -z "${COMPILER_PACKAGES}" ] ; then
COMPILER_PACKAGES=$(chroot_exec apt-get -s install g++ make bc | grep "^Inst " | awk -v ORS=" " '{ print $2 }')
Unknown
its bin/sh again...
r384 # Install COMPILER_PACKAGES in chroot
Unknown
fixes...
r420 chroot_exec apt-get -q -y --allow-unauthenticated --no-install-recommends install "${COMPILER_PACKAGES}"
drtyhlpr
Updated: Dropping privileges, chroot compiler install, dropbear sshd config
r142 fi
}
chroot_remove_cc() {
# Remove c/c++ build environment from the chroot
Unknown
fixes...
r420 if [ -n "${COMPILER_PACKAGES}" ] ; then
chroot_exec apt-get -qq -y --auto-remove purge "${COMPILER_PACKAGES}"
drtyhlpr
Updated: Dropping privileges, chroot compiler install, dropbear sshd config
r142 COMPILER_PACKAGES=""
fi
}
Unknown
Dropbear initramfs...
r501
# https://serverfault.com/a/682849 - converts e.g. /24 to 255.255.255.0
cdr2mask ()
{
# Number of args to shift, 255..255, first non-255 byte, zeroes
set -- $(( 5 - ($1 / 8) )) 255 255 255 255 $(( (255 << (8 - ($1 % 8))) & 255 )) 0 0 0
[ $1 -gt 1 ] && shift $1 || shift
echo ${1-0}.${2-0}.${3-0}.${4-0}
}