Skip to content
Snippets Groups Projects
Commit a086f66a authored by Florent Gluck's avatar Florent Gluck
Browse files

live exam ISO build process is now better structured

parent 509c796f
Branches
No related tags found
No related merge requests found
Showing
with 40 additions and 51 deletions
...@@ -26,8 +26,6 @@ ARG cert ...@@ -26,8 +26,6 @@ ARG cert
ARG exam_user ARG exam_user
ARG exam_pwd ARG exam_pwd
COPY --from=nexus-exam-builder /nexus/build/nexus-exam config/
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \
live-build \ live-build \
live-config \ live-config \
...@@ -35,77 +33,68 @@ RUN apt-get update && apt-get install -y \ ...@@ -35,77 +33,68 @@ RUN apt-get update && apt-get install -y \
WORKDIR /live-default WORKDIR /live-default
## Add live-cd additionnal packages # Install grub config
ADD config/packages.list.chroot config/package-lists/ ADD config/00-bootloader/grub_config.cfg config/includes.binary/boot/grub/config.cfg
## Packages to be removed ## Add additionnal Debian packages
ADD config/9999-removepkg.hook.chroot config/hooks/live/ ADD config/01-build_hooks/packages.list.chroot config/package-lists/
## Add swiss-french keyboard config ## Add swiss-french keyboard config
ADD config/keyboard/keyboard config/includes.chroot/etc/default/ ADD config/01-build_hooks/keyboard/keyboard config/includes.chroot/etc/default/
# Install wifi connection
ADD config/01-build_hooks/wifi/wifi.nmconnection config/includes.chroot/etc/NetworkManager/system-connections/
RUN chmod 0600 config/includes.chroot/etc/NetworkManager/system-connections/wifi.nmconnection
## Run "nexus-exam" as soon as user logs in ## Specify groups for live user (dialout is required to access serial interfaces)
ADD config/nexus-exam config/includes.chroot/usr/local/bin/ # RUN mkdir -p config/includes.chroot/etc/live/config.conf.d
ADD config/nexus-exam.desktop config/includes.chroot/etc/xdg/autostart/ # 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 --from=nexus-exam-builder /nexus/build/nexus-exam config/includes.chroot/usr/local/bin/
## Run nexus-exam as soon as user logs in
ADD config/01-build_hooks/nexus-exam.desktop config/includes.chroot/etc/xdg/autostart/
## Run various X11 settings as soon as user logs in ## Run various X11 settings as soon as user logs in
ADD config/x11/x11_settings.sh config/includes.chroot/usr/local/bin/ ADD config/01-build_hooks/x11/x11_settings.sh config/includes.chroot/usr/local/bin/
ADD config/x11/x11_settings.desktop config/includes.chroot/etc/xdg/autostart/ 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/systemd/x11_settings.sh config/includes.chroot/usr/local/bin/ # 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 # RUN chmod +x config/includes.chroot/usr/local/bin/x11_settings.sh
# ADD config/systemd/x11_settings.service config/includes.chroot/etc/systemd/system/ # 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 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 # 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 ## Customize xfce4 desktop
ADD config/xubuntu-development.png config/includes.chroot/usr/share/xfce4/backdrops/xubuntu-development.png #ADD config/01-build_hooks/xubuntu-development.png config/includes.chroot/usr/share/xfce4/backdrops/xubuntu-development.png
ADD config/xfce/xfce4-desktop.xml config/includes.chroot/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/ ADD config/01-build_hooks/xfce/xfce4-desktop.xml config/includes.chroot/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/
ADD config/xfce/xfce4-panel.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/xfce/xfce4-settings-manager.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/
ADD config/xfce/xfce4-power-manager.xml config/includes.chroot/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/ ADD config/01-build_hooks/xfce/xfce4-power-manager.xml config/includes.chroot/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/
ADD config/xfce/xfwm4.xml config/includes.chroot/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/ ADD config/01-build_hooks/xfce/xfwm4.xml config/includes.chroot/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/
## Install i3 theme for xfwm4 ## Install i3 theme for xfwm4
ADD config/themes config/includes.chroot/usr/share/themes/ ADD config/01-build_hooks/themes config/includes.chroot/usr/share/themes/
# Install syslinux (bios) cfg
ADD config/bootloader/isolinux.cfg config/includes.binary/isolinux/isolinux.cfg
ADD config/bootloader/isolinux_splash.png config/includes.binary/isolinux/splash.png
# Install grub (uefi) cfg
ADD config/bootloader/grub_splash.png config/includes.binary/boot/grub/splash.png
ADD config/bootloader/grub_config.cfg config/includes.binary/boot/grub/config.cfg
ADD config/bootloader/isolinux_menu.cfg config/includes.binary/isolinux/menu.cfg
ADD config/bootloader/isolinux_stdmenu.cfg config/includes.binary/isolinux/stdmenu.cfg
# Install nexus server pub cert system wide
#ADD config/${nexus_cert} config/includes.chroot/usr/share/ca-certificates/nexus-server/nexus-server.crt
# NTP server configuration # NTP server configuration
ADD config/ntp/timesyncd.conf config/includes.chroot/etc/systemd/ ADD config/01-build_hooks/ntp/timesyncd.conf config/includes.chroot/etc/systemd/
# Firewall hook ran at boot time ## Post install hooks
ADD config/boot_hooks/firewall config/includes.chroot/lib/live/config/9999-firewall ADD config/02-post_install_hooks/* config/hooks/live/
RUN echo "firewall ${server_ip} ${server_port}\n" >> config/includes.chroot/lib/live/config/9999-firewall
# Install wifi connection # Boot time hooks
ADD config/wifi/wifi.nmconnection config/includes.chroot/etc/NetworkManager/system-connections/ ADD config/03-boot_hooks/* config/includes.chroot/lib/live/config/
RUN chmod 0600 config/includes.chroot/etc/NetworkManager/system-connections/wifi.nmconnection
# script hook to set password for nexus user (pwd is "pipo")
# pwd is the crypt's perl function's first argument. Second arg is salt.
#RUN echo -n "#!/bin/sh\nusermod -p '" >> config/includes.chroot/lib/live/config/0500-user-password.hook.chroot && \
# perl -e 'print crypt("pipo","\$6\$a9CJ6HTSDXmf\$")' >> config/includes.chroot/lib/live/config/0500-user-password.hook.chroot && \
# echo "' nexus\n" >> config/includes.chroot/lib/live/config/0500-user-password.hook.chroot && \
# chmod 0750 config/includes.chroot/lib/live/config/0500-user-password.hook.chroot
# Script hook so that user nexus has no password # Configure firewall hook
RUN echo -n "#!/bin/sh\npasswd -d nexus\n" > config/includes.chroot/lib/live/config/0500-user-password.hook.chroot && \ RUN echo "firewall ${server_ip} ${server_port}\n" >> config/includes.chroot/lib/live/config/9999-firewall
chmod 0750 config/includes.chroot/lib/live/config/0500-user-password.hook.chroot
## Add config directory ## Add config file
ADD config/config auto/ ADD config/config auto/
RUN lb config RUN lb config
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment