From cebb2ab47cb461aea8db9ca1516d7f8b62d608b4 Mon Sep 17 00:00:00 2001 From: Florent Gluck <florent.gluck@hesge.ch> Date: Thu, 5 Dec 2024 18:27:38 +0100 Subject: [PATCH] updated live-exam build --- live_exam_os/Dockerfile | 24 ++++++++++-------------- live_exam_os/build_live_exam_iso | 5 ++++- live_exam_os/config/config | 4 +--- 3 files changed, 15 insertions(+), 18 deletions(-) diff --git a/live_exam_os/Dockerfile b/live_exam_os/Dockerfile index c700e6c..48f0c34 100644 --- a/live_exam_os/Dockerfile +++ b/live_exam_os/Dockerfile @@ -39,10 +39,13 @@ RUN apt-get update && apt-get install -y live-build live-config && rm -rf /var/l WORKDIR /live-default -# Install grub config +# Install grub config (used when booting on UEFI systems) ADD config/00-bootloader/grub_config.cfg config/includes.binary/boot/grub/config.cfg -## Add additionnal Debian packages +# Install syslinux config (used when booting on BIOS systems) +ADD config/00-bootloader/isolinux.cfg config/includes.binary/isolinux/isolinux.cfg + +# Add additionnal Debian packages ADD config/01-build_hooks/packages.list.chroot config/package-lists/ ## Add swiss-french keyboard config @@ -56,7 +59,7 @@ RUN chmod 0600 config/includes.chroot/etc/NetworkManager/system-connections/wifi # RUN mkdir -p config/includes.chroot/etc/live/config.conf.d # RUN echo "LIVE_USER_DEFAULT_GROUPS=\"cdrom floppy sudo audio dip video plugdev users netdev bluetooth scanner dialout\"" > config/includes.chroot/etc/live/config.conf.d/10-user-setup.conf -## Copy nexus-exam from builder container +# Copy nexus-exam from builder container COPY --from=nexus-exam-builder /nexus/build/nexus-exam config/includes.chroot/usr/local/bin/ ## Run nexus-exam as soon as user logs in @@ -72,20 +75,13 @@ RUN chmod +x config/includes.chroot/home/nexus/Bureau/nexus-exam.desktop ADD config/01-build_hooks/x11/x11_settings.sh config/includes.chroot/usr/local/bin/ ADD config/01-build_hooks/x11/x11_settings.desktop config/includes.chroot/etc/xdg/autostart/ -## Systemd service to set various X11 settings (does not work - not sure why) +# Systemd service to set various X11 settings (does not work - not sure why) # ADD config/01-build_hooks/systemd/x11_settings.sh config/includes.chroot/usr/local/bin/ # RUN chmod +x config/includes.chroot/usr/local/bin/x11_settings.sh # ADD config/01-build_hooks/systemd/x11_settings.service config/includes.chroot/etc/systemd/system/ -# Install nexus server pub cert system wide -# ADD config/01-build_hooks/${nexus_cert} config/includes.chroot/usr/share/ca-certificates/nexus-server/nexus-server.crt - -## Add environment variables for nexus server and certificate -# RUN mkdir config/includes.chroot/etc/skel/ -# RUN echo "export NEXUS_SERVER=${server_ip}\nexport NEXUS_CERT=/etc/ssl/certs/nexus-server.pem\n" >> config/includes.chroot/etc/skel/.xsessionrc - -## Customize xfce4 desktop -#ADD config/01-build_hooks/xubuntu-development.png config/includes.chroot/usr/share/xfce4/backdrops/xubuntu-development.png +# Customize xfce4 desktop +ADD config/01-build_hooks/xubuntu-development.png config/includes.chroot/usr/share/xfce4/backdrops/xubuntu-development.png ADD config/01-build_hooks/xfce/xfce4-desktop.xml config/includes.chroot/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/ ADD config/01-build_hooks/xfce/xfce4-panel.xml config/includes.chroot/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/ ADD config/01-build_hooks/xfce/xfce4-settings-manager.xml config/includes.chroot/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/ @@ -107,7 +103,7 @@ ADD config/03-boot_hooks/* config/includes.chroot/lib/live/config/ # Configure firewall hook RUN echo "firewall ${server_ip} ${server_port}\n" >> config/includes.chroot/lib/live/config/9999-firewall -## Add config file +# Add config file ADD config/config auto/ RUN lb config diff --git a/live_exam_os/build_live_exam_iso b/live_exam_os/build_live_exam_iso index b85da14..f95148f 100755 --- a/live_exam_os/build_live_exam_iso +++ b/live_exam_os/build_live_exam_iso @@ -1,5 +1,8 @@ #!/bin/bash +LIVEBUILD_ISO_NAME=live-image-amd64.hybrid.iso +#LIVEBUILD_ISO_NAME=live-image-amd64.iso + TMP_CONTAINER_NAME=`echo $RANDOM | md5sum | head -c 20; echo;` IMG_SUFFIX=`echo $RANDOM | md5sum | head -c 8; echo;` DOCKER_IMG="nexus-live-exam-os_"$IMG_SUFFIX @@ -91,7 +94,7 @@ else fi # Retrieve live-image from temporary container -if docker cp $TMP_CONTAINER_NAME:/live-default/live-image-amd64.iso $ISO ; then +if docker cp $TMP_CONTAINER_NAME:/live-default/$LIVEBUILD_ISO_NAME $ISO ; then echo "Successfully extracted $ISO from $TMP_CONTAINER_NAME container" else error=1 diff --git a/live_exam_os/config/config b/live_exam_os/config/config index cb516e6..bb9c099 100755 --- a/live_exam_os/config/config +++ b/live_exam_os/config/config @@ -6,7 +6,7 @@ lb config noauto \ --mode debian \ --parent-distribution bookworm \ --distribution bookworm \ - --binary-images iso \ + --binary-images iso-hybrid \ --color \ --iso-application "HEPIA-ISC" \ --iso-volume "nexus-live-exam" \ @@ -14,7 +14,5 @@ lb config noauto \ --security true \ --updates false \ --archive-areas "main contrib non-free non-free-firmware" \ - --mirror-bootstrap http://ftp.ch.debian.org/debian/ \ - --mirror-binary http://ftp.ch.debian.org/debian/ \ --bootappend-live "boot=live components noeject noroot nottyautologin toram username=nexus hostname=nexus-live-exam locales=fr_CH.UTF-8 keyboard-layouts=ch timezone=Europe/Zurich" \ "${@}" -- GitLab