@@ -0,0 +1,13 | |||
|
1 | ## Templates used at IFÉ ENS de Lyon for Tremplin project | |
|
2 | ||
|
3 | These templates have been used to create Raspberry Pi images for the project "Climate and meteorolgy springboard for teaching sciences". These images are used as explained in the [blog](http://blog.climatetmeteo.fr/GerardVidal/) (mostly in french). | |
|
4 | ||
|
5 | The aim was to share with teachers an image providing software resources to use commercial weatherstations or DIY weathersystems made with various sensors. The following images have been built : | |
|
6 | ||
|
7 | * raspife2-stretch Debian stretch image for raspi 2 | |
|
8 | * raspife3-jessie Debian jessie image for raspi 3 | |
|
9 | * raspife3-stretch Debian stretch image for raspi 3 | |
|
10 | * raspife3W-stretch Debian stretch image for raspi 3 with single IPAddress and weewx service | |
|
11 | * raspife3-buster Debian buster image for raspi 3 | |
|
12 | ||
|
13 |
@@ -0,0 +1,80 | |||
|
1 | Configuration file raspife2 Stretch IFÉ 2017/02/24 | |
|
2 | # | |
|
3 | APT_SERVER=ftp.fr.debian.org | |
|
4 | APT_INCLUDES="gnupg,gnupg2,firmware-realtek,firmware-linux-nonfree,firmware-linux,tightvncserver,build-essentia$ | |
|
5 | bison,libboost-all-dev,automake,autoconf,autogen,libtool,pkg-config,checkinstall,python3,python3-dev,menulibre,$ | |
|
6 | libnotify-bin,python,python-configobj,python-cheetah,python-imaging,python-serial,python-usb,python-dev,\ | |
|
7 | pcre2-utils,libpcre++-dev,libpcre2-dev,libjpeg-dev,jed,i2c-tools,python-smbus,policykit-1,usbutils,\ | |
|
8 | pmount,python-pip,python3-pip,geany,geany-plugin-py,geany-plugin-markdown,firefox-esr,firefox-esr-l10n-fr,\ | |
|
9 | icedtea-8-plugin,openjdk-8-jdk,openjdk-8-jre,openjdk-8-jre-headless,libqtwebkit-dev,libqt5webkit5-dev,\ | |
|
10 | libudev-dev,libzzip-dev,zlib1g-dev,libcanberra-gtk-module,libnss-myhostname,libfreetype6-dev,libpng16-16,\ | |
|
11 | lxsession,openbox-lxde-session,lxde" | |
|
12 | #---------------------- | |
|
13 | RPI_MODEL=2 | |
|
14 | RELEASE="stretch" | |
|
15 | HOSTNAME="raspife2" | |
|
16 | PASSWORD="***********" | |
|
17 | USER_PASSWORD="**************" | |
|
18 | DEFLOCAL="fr_FR.UTF-8" | |
|
19 | TIMEZONE="Europe/Paris" | |
|
20 | EXPANDROOT=false | |
|
21 | #----------------------- | |
|
22 | XKB_MODEL="pc105" | |
|
23 | XKB_LAYOUT="fr" | |
|
24 | XKB_VARIANT="latin9" | |
|
25 | XKB_OPTIONS="" | |
|
26 | #------------------------ | |
|
27 | ENABLE_DHCP=true | |
|
28 | #------------------------ | |
|
29 | ENABLE_CONSOLE=true | |
|
30 | ENABLE_I2C=true | |
|
31 | ENABLE_SPI=true | |
|
32 | ENABLE_IPV6=true | |
|
33 | ENABLE_SSHD=true | |
|
34 | ENABLE_NONFREE=true | |
|
35 | ENABLE_WIRELESS=false | |
|
36 | ENABLE_RSYSLOG=true | |
|
37 | ENABLE_SOUND=true | |
|
38 | ENABLE_HWRANDOM=true | |
|
39 | ENABLE_MINGPU=true | |
|
40 | ENABLE_DBUS=true | |
|
41 | ENABLE_XORG=true | |
|
42 | ENABLE_WM="lxdm" | |
|
43 | #------------------------ | |
|
44 | ENABLE_MINBASE=false | |
|
45 | ENABLE_REDUCE=false | |
|
46 | ENABLE_UBOOT=false | |
|
47 | ENABLE_FBTURBO=true | |
|
48 | ENABLE_IPTABLES=false | |
|
49 | ENABLE_USER=true | |
|
50 | USER_NAME=ens-ife | |
|
51 | ENABLE_ROOT=true | |
|
52 | ENABLE_HARDNET=true | |
|
53 | ENABLE_INITRAMFS=true | |
|
54 | ENABLE_IFNAMES=true | |
|
55 | #------------------------ | |
|
56 | ENABLE_ROOT_SSH=false | |
|
57 | SSH_LIMIT_USERS=false | |
|
58 | SSH_ROOT_PUB_KEY="/home/********/.ssh/authorized_keys" | |
|
59 | SSH_USER_PUB_KEY="/home/********/.ssh/authorized_keys" | |
|
60 | #------------------------ | |
|
61 | BUILD_KERNEL=true | |
|
62 | KERNEL_REDUCE=false | |
|
63 | KERNEL_HEADERS=true | |
|
64 | KERNEL_REMOVESRC=true | |
|
65 | KERNELSRC_CLEAN=true | |
|
66 | KERNELSRC_CONFIG=true | |
|
67 | #------------------------ | |
|
68 | REDUCE_APT=false | |
|
69 | REDUCE_DOC=true | |
|
70 | REDUCE_MAN=false | |
|
71 | REDUCE_HWDB=true | |
|
72 | REDUCE_BASH=false | |
|
73 | REDUCE_SSHD=false | |
|
74 | REDUCE_LOCALE=false | |
|
75 | #------------------------- | |
|
76 | ENABLE_CRYPTFS=false | |
|
77 | #------------------------- | |
|
78 | BASEDIR=/media/********/images/${RELEASE} | |
|
79 | DATE=date | |
|
80 | +%Y-%m-%d IMAGE_NAME=${BASEDIR}/${DATE}-rpi${RPI_MODEL}-${RELEASE} |
@@ -0,0 +1,4 | |||
|
1 | # Configuration template file used by rpi23-gen-image.sh | |
|
2 | RPI_MODEL=3 | |
|
3 | RELEASE=jessie | |
|
4 | BUILD_KERNEL=true |
@@ -0,0 +1,86 | |||
|
1 | # Configuration file raspi3 Stretch IFÉ 2017/04/15 | |
|
2 | # | |
|
3 | APT_SERVER=ftp.fr.debian.org | |
|
4 | APT_INCLUDES="gnupg,gnupg2,firmware-linux-nonfree,firmware-linux,xutils-dev,\ | |
|
5 | gettext, tightvncserver,build-essential,git,cmake,libjson-c-dev,unzip,\ | |
|
6 | bison,libboost-all-dev,automake,autoconf,autogen,libtool,libtool-bin,pkg-config,checkinstall,menulibre,libnotify-bin, \ | |
|
7 | python3,python3-dev,python,python-dev,python-configobj,python-cheetah,python-imaging,python-serial,python-usb,\ | |
|
8 | python-tk,python3-tk,python3-scipy,pandoc,python-pypandoc,python3-pypandoc,python-pandocfilters,python3-pandocfilters, \ | |
|
9 | python-geopy,python3-geopy,python-pip,python3-pip, \ | |
|
10 | pcre2-utils,libpcre++-dev,libpcre2-dev,libjpeg-dev,jed,i2c-tools,python-smbus,policykit-1,usbutils,\ | |
|
11 | pmount,geany,geany-plugin-py,geany-plugin-markdown,firefox-esr,firefox-esr-l10n-fr,ntpdate, \ | |
|
12 | texlive,texlive-xetex,nginx-extras,ffmpeg,wicd,wicd-gtk,console-data,keyboard-configuration, \ | |
|
13 | icedtea-8-plugin,openjdk-8-jdk,openjdk-8-jre,openjdk-8-jre-headless,libqtwebkit-dev,libqt5webkit5-dev,\ | |
|
14 | libudev-dev,libzzip-dev,zlib1g-dev,libcanberra-gtk-module,libnss-myhostname,libfreetype6-dev,libpng16-16,\ | |
|
15 | nmap,libltdl-dev,lxsession,openbox-lxde-session,lxde,dbus-user-session,debian-archive-keyring" | |
|
16 | #---------------------- | |
|
17 | RPI_MODEL=3 | |
|
18 | RELEASE="stretch" | |
|
19 | HOSTNAME="raspife3" | |
|
20 | PASSWORD="**********" | |
|
21 | USER_PASSWORD="**********" | |
|
22 | DEFLOCAL="fr_FR.UTF-8" | |
|
23 | TIMEZONE="Europe/Paris" | |
|
24 | EXPANDROOT=false | |
|
25 | #----------------------- | |
|
26 | XKB_MODEL="pc105" | |
|
27 | XKB_LAYOUT="fr" | |
|
28 | XKB_VARIANT="latin9" | |
|
29 | XKB_OPTIONS="" | |
|
30 | #------------------------ | |
|
31 | ENABLE_DHCP=true | |
|
32 | #------------------------ | |
|
33 | ENABLE_CONSOLE=false | |
|
34 | ENABLE_I2C=true | |
|
35 | ENABLE_SPI=true | |
|
36 | ENABLE_IPV6=true | |
|
37 | ENABLE_SSHD=true | |
|
38 | ENABLE_NONFREE=true | |
|
39 | ENABLE_WIRELESS=true | |
|
40 | ENABLE_RSYSLOG=true | |
|
41 | ENABLE_SOUND=true | |
|
42 | ENABLE_HWRANDOM=true | |
|
43 | ENABLE_MINGPU=true | |
|
44 | ENABLE_DBUS=true | |
|
45 | ENABLE_XORG=true | |
|
46 | ENABLE_WM="lxdm" | |
|
47 | #------------------------ | |
|
48 | ENABLE_MINBASE=false | |
|
49 | ENABLE_REDUCE=false | |
|
50 | ENABLE_UBOOT=false | |
|
51 | ENABLE_FBTURBO=false | |
|
52 | ENABLE_IPTABLES=false | |
|
53 | ENABLE_USER=true | |
|
54 | USER_NAME=ens-ife | |
|
55 | ENABLE_ROOT=true | |
|
56 | ENABLE_HARDNET=true | |
|
57 | ENABLE_INITRAMFS=true | |
|
58 | ENABLE_IFNAMES=true | |
|
59 | #------------------------ | |
|
60 | ENABLE_ROOT_SSH=false | |
|
61 | SSH_LIMIT_USERS=false | |
|
62 | SSH_ROOT_PUB_KEY="/home/*******/.ssh/authorized_keys" | |
|
63 | SSH_USER_PUB_KEY="/home/*******/.ssh/authorized_keys" | |
|
64 | #------------------------ | |
|
65 | BUILD_KERNEL=true | |
|
66 | KERNEL_REDUCE=false | |
|
67 | KERNEL_HEADERS=true | |
|
68 | KERNEL_REMOVESRC=true | |
|
69 | KERNELSRC_CLEAN=true | |
|
70 | KERNELSRC_CONFIG=true | |
|
71 | #------------------------ | |
|
72 | REDUCE_APT=false | |
|
73 | REDUCE_DOC=true | |
|
74 | REDUCE_MAN=false | |
|
75 | REDUCE_HWDB=true | |
|
76 | REDUCE_BASH=false | |
|
77 | REDUCE_SSHD=false | |
|
78 | REDUCE_LOCALE=false | |
|
79 | #------------------------- | |
|
80 | ENABLE_CRYPTFS=false | |
|
81 | #------------------------- | |
|
82 | BASEDIR=/data/RpiGenImage/Images/${RELEASE} | |
|
83 | DATE=`date +%Y-%m-%d` | |
|
84 | IMAGE_NAME=${BASEDIR}/${DATE}-rpi${RPI_MODEL}-${RELEASE} | |
|
85 | ||
|
86 |
@@ -0,0 +1,92 | |||
|
1 | # Configuration file raspi3 Stretch IFÉ 2017/04/15 | |
|
2 | # | |
|
3 | APT_SERVER=ftp.fr.debian.org | |
|
4 | APT_INCLUDES="debian-archive-keyring,debian-keyring,automake,autoconf,autogen,gawk,gnupg,gnupg2, \ | |
|
5 | build-essential,git,cmake,libjson-c-dev,unzip,\ | |
|
6 | bison,libboost-all-dev,libtool,libtool-bin,pkg-config,checkinstall,libnotify-bin,pandoc, \ | |
|
7 | python3,python3-dev,python,python-dev,python-configobj,python-cheetah, \ | |
|
8 | python-imaging,python-serial,python-usb,python-tk,python3-tk,python3-scipy, \ | |
|
9 | python-pypandoc,python3-pypandoc,python-pandocfilters,python3-pandocfilters, \ | |
|
10 | python-geopy,python3-geopy,python-pip,python3-pip,python-smbus, \ | |
|
11 | libudev-dev,libzzip-dev,zlib1g-dev,libnss-myhostname,libpng16-16,nmap \ | |
|
12 | libltdl-dev,usbutils,pmount,ntpdate,texlive,texlive-xetex,nginx-extras,policykit-1" | |
|
13 | #firehol" | |
|
14 | #ffmpeg,console-data,keyboard-configuration,openjdk-8-jdk, \ | |
|
15 | #openjdk-8-jre,openjdk-8-jre-headless,pcre2-utils,libpcre++-dev,libpcre2-dev,libjpeg-dev,i2c-tools, \ | |
|
16 | #libcanberra-gtk-module,libqtwebkit-dev,libqt5webkit5-dev,libfreetype6-dev" | |
|
17 | #,policykit-1,inetutils-ping,firmware-linux-nonfree,firmware-linux | |
|
18 | #---------------------- | |
|
19 | RPI_MODEL=3 | |
|
20 | RELEASE="stretch" | |
|
21 | HOSTNAME="raspwife3" | |
|
22 | PASSWORD="**************" | |
|
23 | USER_PASSWORD="*************" | |
|
24 | DEFLOCAL="fr_FR.UTF-8" | |
|
25 | TIMEZONE="Europe/Paris" | |
|
26 | EXPANDROOT=false | |
|
27 | #----------------------- | |
|
28 | XKB_MODEL="pc105" | |
|
29 | XKB_LAYOUT="fr" | |
|
30 | XKB_VARIANT="latin9" | |
|
31 | XKB_OPTIONS="" | |
|
32 | #------------------------ | |
|
33 | ENABLE_DHCP=false | |
|
34 | NET_ADDRESS="192.168.***.**/**" | |
|
35 | NET_GATEWAY="192.168.***.1" | |
|
36 | NET_DNS_1="192.168.***.1" | |
|
37 | NET_DNS_2="8.8.8.8" | |
|
38 | #------------------------ | |
|
39 | ENABLE_CONSOLE=false | |
|
40 | ENABLE_I2C=true | |
|
41 | ENABLE_SPI=true | |
|
42 | ENABLE_IPV6=true | |
|
43 | ENABLE_SSHD=true | |
|
44 | ENABLE_NONFREE=true | |
|
45 | ENABLE_WIRELESS=true | |
|
46 | ENABLE_RSYSLOG=true | |
|
47 | ENABLE_SOUND=true | |
|
48 | ENABLE_HWRANDOM=true | |
|
49 | ENABLE_MINGPU=true | |
|
50 | ENABLE_DBUS=true | |
|
51 | ENABLE_XORG=false | |
|
52 | ENABLE_WM="" | |
|
53 | #------------------------ | |
|
54 | ENABLE_MINBASE=false | |
|
55 | ENABLE_REDUCE=false | |
|
56 | ENABLE_UBOOT=false | |
|
57 | ENABLE_FBTURBO=false | |
|
58 | ENABLE_IPTABLES=false | |
|
59 | ENABLE_USER=true | |
|
60 | USER_NAME=ens-ife | |
|
61 | ENABLE_ROOT=true | |
|
62 | ENABLE_HARDNET=true | |
|
63 | ENABLE_INITRAMFS=true | |
|
64 | ENABLE_IFNAMES=true | |
|
65 | #------------------------ | |
|
66 | ENABLE_ROOT_SSH=false | |
|
67 | SSH_LIMIT_USERS=false | |
|
68 | SSH_ROOT_PUB_KEY="/home/********/.ssh/authorized_keys" | |
|
69 | SSH_USER_PUB_KEY="/home/********/.ssh/authorized_keys" | |
|
70 | #------------------------ | |
|
71 | BUILD_KERNEL=true | |
|
72 | KERNEL_REDUCE=false | |
|
73 | KERNEL_HEADERS=true | |
|
74 | KERNEL_REMOVESRC=true | |
|
75 | KERNELSRC_CLEAN=true | |
|
76 | KERNELSRC_CONFIG=true | |
|
77 | #------------------------ | |
|
78 | REDUCE_APT=false | |
|
79 | REDUCE_DOC=true | |
|
80 | REDUCE_MAN=false | |
|
81 | REDUCE_HWDB=true | |
|
82 | REDUCE_BASH=false | |
|
83 | REDUCE_SSHD=false | |
|
84 | REDUCE_LOCALE=false | |
|
85 | #------------------------- | |
|
86 | ENABLE_CRYPTFS=false | |
|
87 | #------------------------- | |
|
88 | BASEDIR=/data/RpiGenImage/Images/${RELEASE} | |
|
89 | DATE=`date +%Y-%m-%d` | |
|
90 | IMAGE_NAME=${BASEDIR}/${DATE}-rpiw${RPI_MODEL}-${RELEASE} | |
|
91 | ||
|
92 |
@@ -1,53 +1,48 | |||
|
1 | 1 | # |
|
2 | 2 | # Debootstrap basic system |
|
3 | 3 | # |
|
4 | 4 | |
|
5 | 5 | # Load utility functions |
|
6 | 6 | . ./functions.sh |
|
7 | 7 | |
|
8 | 8 | VARIANT="" |
|
9 | 9 | COMPONENTS="main" |
|
10 | 10 | EXCLUDES="" |
|
11 | 11 | |
|
12 | 12 | # Use non-free Debian packages if needed |
|
13 | 13 | if [ "$ENABLE_NONFREE" = true ] ; then |
|
14 | 14 | COMPONENTS="main,non-free" |
|
15 | 15 | fi |
|
16 | 16 | |
|
17 | 17 | # Use minbase bootstrap variant which only includes essential packages |
|
18 | 18 | if [ "$ENABLE_MINBASE" = true ] ; then |
|
19 | 19 | VARIANT="--variant=minbase" |
|
20 | 20 | fi |
|
21 | 21 | |
|
22 | 22 | # Exclude packages if required by Debian release |
|
23 | if [ "$RELEASE" = "stretch" ] ; then | |
|
24 | EXCLUDES="--exclude=init,systemd-sysv" | |
|
25 | fi | |
|
26 | ||
|
27 | # Exclude packages if required by Debian buster release | |
|
28 | if [ "$RELEASE" = "buster" ] ; then | |
|
23 | if [ "$RELEASE" = "stretch" ] || [ "$RELEASE" = "buster" ] ; then | |
|
29 | 24 | EXCLUDES="--exclude=init,systemd-sysv" |
|
30 | 25 | fi |
|
31 | 26 | |
|
32 | 27 | # Base debootstrap (unpack only) |
|
33 | 28 | http_proxy=${APT_PROXY} debootstrap ${EXCLUDES} --arch="${RELEASE_ARCH}" --foreign ${VARIANT} --components="${COMPONENTS}" --include="${APT_INCLUDES}" "${RELEASE}" "${R}" "http://${APT_SERVER}/debian" |
|
34 | 29 | |
|
35 | 30 | # Copy qemu emulator binary to chroot modified for changes in _apt management in buster |
|
36 | 31 | #install_exec "${QEMU_BINARY}" "${R}${QEMU_BINARY}" |
|
37 | 32 | install -m 755 -o root -g root "${QEMU_BINARY}" "${R}${QEMU_BINARY}" |
|
38 | 33 | |
|
39 | 34 | # Copy debian-archive-keyring.pgp |
|
40 | 35 | mkdir -p "${R}/usr/share/keyrings" |
|
41 | 36 | install_readonly /usr/share/keyrings/debian-archive-keyring.gpg "${R}/usr/share/keyrings/debian-archive-keyring.gpg" |
|
42 | 37 | |
|
43 | 38 | # Complete the bootstrapping process |
|
44 | 39 | chroot_exec /debootstrap/debootstrap --second-stage |
|
45 | 40 | |
|
46 | 41 | # Mount required filesystems |
|
47 | 42 | mount -t proc none "${R}/proc" |
|
48 | 43 | mount -t sysfs none "${R}/sys" |
|
49 | 44 | |
|
50 | 45 | # Mount pseudo terminal slave if supported by Debian release |
|
51 | 46 | if [ -d "${R}/dev/pts" ] ; then |
|
52 | 47 | mount --bind /dev/pts "${R}/dev/pts" |
|
53 | 48 | fi |
@@ -1,54 +1,49 | |||
|
1 | 1 | # |
|
2 | 2 | # Build and Setup fbturbo Xorg driver |
|
3 | 3 | # |
|
4 | 4 | |
|
5 | 5 | # Load utility functions |
|
6 | 6 | . ./functions.sh |
|
7 | 7 | |
|
8 | 8 | if [ "$ENABLE_FBTURBO" = true ] ; then |
|
9 | 9 | # Install c/c++ build environment inside the chroot |
|
10 | 10 | chroot_install_cc |
|
11 | 11 | |
|
12 | 12 | # Copy existing fbturbo sources into chroot directory |
|
13 | 13 | if [ -n "$FBTURBOSRC_DIR" ] && [ -d "$FBTURBOSRC_DIR" ] ; then |
|
14 | 14 | # Copy local fbturbo sources |
|
15 | 15 | cp -r "${FBTURBOSRC_DIR}" "${R}/tmp" |
|
16 | 16 | else |
|
17 | 17 | # Create temporary directory for fbturbo sources |
|
18 | 18 | temp_dir=$(sudo -u nobody mktemp -d) |
|
19 | 19 | |
|
20 | 20 | # Fetch fbturbo sources |
|
21 | 21 | sudo -u nobody git -C "${temp_dir}" clone "${FBTURBO_URL}" |
|
22 | 22 | |
|
23 | 23 | # Move downloaded fbturbo sources |
|
24 | 24 | mv "${temp_dir}/xf86-video-fbturbo" "${R}/tmp/" |
|
25 | 25 | |
|
26 | 26 | # Remove temporary directory for fbturbo sources |
|
27 | 27 | rm -fr "${temp_dir}" |
|
28 | 28 | fi |
|
29 | 29 | |
|
30 | 30 | # Install Xorg build dependencies |
|
31 | if [ "$RELEASE" = "jessie" ] ; then | |
|
32 | chroot_exec apt-get -q -y --no-install-recommends install xorg-dev xutils-dev x11proto-dri2-dev libltdl-dev libtool automake libdrm-dev | |
|
33 | elif [ "$RELEASE" = "stretch" ] ; then | |
|
34 | chroot_exec apt-get -q -y --no-install-recommends --allow-unauthenticated install xorg-dev xutils-dev x11proto-dri2-dev libltdl-dev libtool automake libdrm-dev | |
|
35 | # removed --allow-unauthenticated as recommended after amendment on _apt privileges | |
|
36 | elif [ "$RELEASE" = "buster" ] ; then | |
|
31 | if [ "$RELEASE" = "jessie" ] || [ "$RELEASE" = "stretch" ] || [ "$RELEASE" = "buster" ] ; then | |
|
37 | 32 | chroot_exec apt-get -q -y --no-install-recommends install xorg-dev xutils-dev x11proto-dri2-dev libltdl-dev libtool automake libdrm-dev |
|
38 | 33 | fi |
|
39 | 34 | |
|
40 | 35 | # Build and install fbturbo driver inside chroot |
|
41 | 36 | chroot_exec /bin/bash -x <<'EOF' |
|
42 | 37 | cd /tmp/xf86-video-fbturbo |
|
43 | 38 | autoreconf -vi |
|
44 | 39 | ./configure --prefix=/usr |
|
45 | 40 | make |
|
46 | 41 | make install |
|
47 | 42 | EOF |
|
48 | 43 | |
|
49 | 44 | # Install fbturbo driver Xorg configuration |
|
50 | 45 | install_readonly files/xorg/99-fbturbo.conf "${R}/usr/share/X11/xorg.conf.d/99-fbturbo.conf" |
|
51 | 46 | |
|
52 | 47 | # Remove Xorg build dependencies |
|
53 | 48 | chroot_exec apt-get -qq -y --auto-remove purge xorg-dev xutils-dev x11proto-dri2-dev libltdl-dev libtool automake libdrm-dev |
|
54 | 49 | fi |
@@ -1,76 +1,74 | |||
|
1 | 1 | # This file contains utility functions used by rpi23-gen-image.sh |
|
2 | 2 | |
|
3 | 3 | cleanup (){ |
|
4 | 4 | set +x |
|
5 | 5 | set +e |
|
6 | 6 | |
|
7 | 7 | # Identify and kill all processes still using files |
|
8 | 8 | echo "killing processes using mount point ..." |
|
9 | 9 | fuser -k "${R}" |
|
10 | 10 | sleep 3 |
|
11 | 11 | fuser -9 -k -v "${R}" |
|
12 | 12 | |
|
13 | 13 | # Clean up temporary .password file |
|
14 | 14 | if [ -r ".password" ] ; then |
|
15 | 15 | shred -zu .password |
|
16 | 16 | fi |
|
17 | 17 | |
|
18 | 18 | # Clean up all temporary mount points |
|
19 | 19 | echo "removing temporary mount points ..." |
|
20 | 20 | umount -l "${R}/proc" 2> /dev/null |
|
21 | 21 | umount -l "${R}/sys" 2> /dev/null |
|
22 | 22 | umount -l "${R}/dev/pts" 2> /dev/null |
|
23 | 23 | umount "$BUILDDIR/mount/boot/firmware" 2> /dev/null |
|
24 | 24 | umount "$BUILDDIR/mount" 2> /dev/null |
|
25 | 25 | cryptsetup close "${CRYPTFS_MAPPING}" 2> /dev/null |
|
26 | 26 | losetup -d "$ROOT_LOOP" 2> /dev/null |
|
27 | 27 | losetup -d "$FRMW_LOOP" 2> /dev/null |
|
28 | 28 | trap - 0 1 2 3 6 |
|
29 | 29 | } |
|
30 | 30 | |
|
31 | 31 | chroot_exec() { |
|
32 | 32 | # Exec command in chroot |
|
33 | 33 | LANG=C LC_ALL=C DEBIAN_FRONTEND=noninteractive chroot ${R} $* |
|
34 | 34 | } |
|
35 | 35 | |
|
36 | 36 | install_readonly() { |
|
37 | 37 | # Install file with user read-only permissions |
|
38 | 38 | install -o root -g root -m 644 $* |
|
39 | 39 | } |
|
40 | 40 | |
|
41 | 41 | install_exec() { |
|
42 | 42 | # Install file with root exec permissions |
|
43 | 43 | install -o root -g root -m 744 $* |
|
44 | 44 | } |
|
45 | 45 | |
|
46 | 46 | use_template () { |
|
47 | 47 | # Test if configuration template file exists |
|
48 | 48 | if [ ! -r "./templates/${CONFIG_TEMPLATE}" ] ; then |
|
49 | 49 | echo "error: configuration template ${CONFIG_TEMPLATE} not found" |
|
50 | 50 | exit 1 |
|
51 | 51 | fi |
|
52 | 52 | |
|
53 | 53 | # Load template configuration parameters |
|
54 | 54 | . "./templates/${CONFIG_TEMPLATE}" |
|
55 | 55 | } |
|
56 | 56 | |
|
57 | 57 | chroot_install_cc() { |
|
58 | 58 | # Install c/c++ build environment inside the chroot |
|
59 | 59 | if [ -z "${COMPILER_PACKAGES}" ] ; then |
|
60 | 60 | COMPILER_PACKAGES=$(chroot_exec apt-get -s install g++ make bc | grep "^Inst " | awk -v ORS=" " '{ print $2 }') |
|
61 | 61 | |
|
62 | if [ "$RELEASE" = "jessie" ] ; then | |
|
62 | if [ "$RELEASE" = "jessie" ] || [ "$RELEASE" = "stretch" ] || [ "$RELEASE" = "buster" ] ; then | |
|
63 | 63 | chroot_exec apt-get -q -y --no-install-recommends install ${COMPILER_PACKAGES} |
|
64 | elif [ "$RELEASE" = "stretch" ] ; then | |
|
65 | chroot_exec apt-get -q -y --allow-unauthenticated --no-install-recommends install ${COMPILER_PACKAGES} | |
|
66 | 64 | fi |
|
67 | 65 | fi |
|
68 | 66 | } |
|
69 | 67 | |
|
70 | 68 | chroot_remove_cc() { |
|
71 | 69 | # Remove c/c++ build environment from the chroot |
|
72 | 70 | if [ ! -z "${COMPILER_PACKAGES}" ] ; then |
|
73 | 71 | chroot_exec apt-get -qq -y --auto-remove purge ${COMPILER_PACKAGES} |
|
74 | 72 | COMPILER_PACKAGES="" |
|
75 | 73 | fi |
|
76 | 74 | } |
|
1 | NO CONTENT: file renamed from templates/rpi3busterIFE to templates/raspife3-buster |
General Comments 0
Vous devez vous connecter pour laisser un commentaire.
Se connecter maintenant