@@ -113,6 +113,12 @@ sudo cp files/apt/apt.conf.d/{81norecommends,apt-{clean,gzip-indexes,no-language
113
113
# # Note: set lang to prevent locale warnings in your chroot
114
114
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y update
115
115
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y upgrade
116
+
117
+ echo ' [INFO] Install and setup eatmydata'
118
+ sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install eatmydata
119
+ sudo LANG=C chroot $FILESYSTEM_ROOT ln -s /usr/bin/eatmydata /usr/local/bin/dpkg
120
+ echo ' Dir::Bin::dpkg "/usr/local/bin/dpkg";' | sudo tee $FILESYSTEM_ROOT /etc/apt/apt.conf.d/00image-install-eatmydata > /dev/null
121
+
116
122
echo ' [INFO] Install packages for building image'
117
123
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install makedev psmisc
118
124
@@ -143,6 +149,23 @@ if [[ $CONFIGURED_ARCH == amd64 ]]; then
143
149
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install dmidecode hdparm
144
150
fi
145
151
152
+ # # Sign the Linux kernel
153
+ if [ " $SONIC_ENABLE_SECUREBOOT_SIGNATURE " = " y" ]; then
154
+ if [ ! -f $SIGNING_KEY ]; then
155
+ echo " Error: SONiC linux kernel signing key missing"
156
+ exit 1
157
+ fi
158
+ if [ ! -f $SIGNING_CERT ]; then
159
+ echo " Error: SONiC linux kernel signing certificate missing"
160
+ exit 1
161
+ fi
162
+
163
+ echo ' [INFO] Signing SONiC linux kernel image'
164
+ K=$FILESYSTEM_ROOT /boot/vmlinuz-${LINUX_KERNEL_VERSION} -amd64
165
+ sbsign --key $SIGNING_KEY --cert $SIGNING_CERT --output /tmp/${K##*/ } ${K}
166
+ sudo cp -f /tmp/${K##*/ } ${K}
167
+ fi
168
+
146
169
# # Update initramfs for booting with squashfs+overlay
147
170
cat files/initramfs-tools/modules | sudo tee -a $FILESYSTEM_ROOT /etc/initramfs-tools/modules > /dev/null
148
171
397
420
# # Remove sshd host keys, and will regenerate on first sshd start
398
421
sudo rm -f $FILESYSTEM_ROOT /etc/ssh/ssh_host_* _key*
399
422
sudo cp files/sshd/host-ssh-keygen.sh $FILESYSTEM_ROOT /usr/local/bin/
400
- sudo cp -f files/sshd/sshd.service $FILESYSTEM_ROOT /lib/systemd/system/ssh.service
423
+ sudo mkdir $FILESYSTEM_ROOT /etc/systemd/system/ssh.service.d
424
+ sudo cp files/sshd/override.conf $FILESYSTEM_ROOT /etc/systemd/system/ssh.service.d/override.conf
401
425
# Config sshd
402
426
# 1. Set 'UseDNS' to 'no'
403
427
# 2. Configure sshd to close all SSH connetions after 15 minutes of inactivity
@@ -460,7 +484,7 @@ sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip3 install 'setup
460
484
sudo https_proxy= $https_proxy LANG= C chroot $FILESYSTEM_ROOT pip3 install ' wheel==0.35.1'
461
485
462
486
# docker Python API package is needed by Ansible docker module as well as some SONiC applications
463
- sudo https_proxy= $https_proxy LANG= C chroot $FILESYSTEM_ROOT pip3 install ' docker==4.3.1 '
487
+ sudo https_proxy= $https_proxy LANG= C chroot $FILESYSTEM_ROOT pip3 install ' docker==5.0.3 '
464
488
465
489
# Install scapy
466
490
sudo https_proxy= $https_proxy LANG= C chroot $FILESYSTEM_ROOT pip3 install ' scapy==2.4.4'
@@ -586,6 +610,10 @@ scripts/collect_host_image_version_files.sh $TARGET_PATH $FILESYSTEM_ROOT
586
610
# Remove GCC
587
611
sudo LANG= C DEBIAN_FRONTEND= noninteractive chroot $FILESYSTEM_ROOT apt-get -y remove gcc
588
612
613
+ # Remove eatmydata
614
+ sudo rm $FILESYSTEM_ROOT /etc/apt/apt.conf.d/00image-install-eatmydata $FILESYSTEM_ROOT /usr/local/bin/dpkg
615
+ sudo LANG= C DEBIAN_FRONTEND= noninteractive chroot $FILESYSTEM_ROOT apt-get -y remove eatmydata
616
+
589
617
# # Clean up apt
590
618
sudo LANG= C chroot $FILESYSTEM_ROOT apt-get -y autoremove
591
619
sudo LANG= C chroot $FILESYSTEM_ROOT apt-get autoclean
0 commit comments