From a24ea84be0b82ee173b63c92e869ab847abdda5f Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Fri, 26 Oct 2012 11:34:50 -0300 Subject: [configs/releng] Rework make_customize_root_image() Using a separate shell script to customize live-enviroment, makes much more readable code. Move all thing except: * Need network access (name resolving). * Need access to some file outside chroot. Signed-off-by: Gerardo Exequiel Pozzi --- configs/releng/build.sh | 32 ++++------------------ .../releng/root-image/root/customize_root_image.sh | 25 +++++++++++++++++ 2 files changed, 31 insertions(+), 26 deletions(-) create mode 100755 configs/releng/root-image/root/customize_root_image.sh diff --git a/configs/releng/build.sh b/configs/releng/build.sh index f65a3f1..8b08d4f 100755 --- a/configs/releng/build.sh +++ b/configs/releng/build.sh @@ -164,34 +164,14 @@ make_isolinux() { make_customize_root_image() { if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then cp -af ${script_path}/root-image ${work_dir} - cp -aT ${work_dir}/root-image/etc/skel/ ${work_dir}/root-image/root/ - ln -sf /usr/share/zoneinfo/UTC ${work_dir}/root-image/etc/localtime - chmod 750 ${work_dir}/root-image/etc/sudoers.d - chmod 440 ${work_dir}/root-image/etc/sudoers.d/g_wheel - mkdir -p ${work_dir}/root-image/etc/pacman.d + + patch ${work_dir}/root-image/usr/bin/pacman-key < ${script_path}/pacman-key-4.0.3_unattended-keyring-init.patch wget -O ${work_dir}/root-image/etc/pacman.d/mirrorlist 'https://www.archlinux.org/mirrorlist/?country=all&protocol=http&use_mirror_status=on' + lynx -dump -nolist 'https://wiki.archlinux.org/index.php/Installation_Guide?action=render' >> ${work_dir}/root-image/root/install.txt - sed -i "s/#Server/Server/g" ${work_dir}/root-image/etc/pacman.d/mirrorlist - patch ${work_dir}/root-image/usr/bin/pacman-key < ${script_path}/pacman-key-4.0.3_unattended-keyring-init.patch - sed -i 's/#\(en_US\.UTF-8\)/\1/' ${work_dir}/root-image/etc/locale.gen - sed 's#\(^ExecStart=-/sbin/agetty\)#\1 --autologin root#; - s#\(^Alias=getty.target.wants/\).\+#\1autologin@tty1.service#' \ - ${work_dir}/root-image/usr/lib/systemd/system/getty@.service > ${work_dir}/root-image/etc/systemd/system/autologin@.service - mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" \ - -r 'locale-gen' \ - run - mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" \ - -r 'usermod -s /bin/zsh root' \ - run - mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" \ - -r 'useradd -m -p "" -g users -G "adm,audio,floppy,log,network,rfkill,scanner,storage,optical,power,wheel" -s /bin/zsh arch' \ - run - mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" \ - -r 'systemctl disable getty@tty1.service || true' \ - run - mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" \ - -r 'systemctl enable multi-user.target pacman-init.service autologin@.service dhcpcd.service || true' \ - run + + mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" -r '/root/customize_root_image.sh' run + rm ${work_dir}/root-image/root/customize_root_image.sh : > ${work_dir}/build.${FUNCNAME} fi } diff --git a/configs/releng/root-image/root/customize_root_image.sh b/configs/releng/root-image/root/customize_root_image.sh new file mode 100755 index 0000000..cc47845 --- /dev/null +++ b/configs/releng/root-image/root/customize_root_image.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +set -e -u + +sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen +locale-gen + +ln -sf /usr/share/zoneinfo/UTC /etc/localtime + +usermod -s /bin/zsh root +cp -aT /etc/skel/ /root/ + +useradd -m -p "" -g users -G "adm,audio,floppy,log,network,rfkill,scanner,storage,optical,power,wheel" -s /bin/zsh arch + +chmod 750 /etc/sudoers.d +chmod 440 /etc/sudoers.d/g_wheel + +sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist + +sed 's#\(^ExecStart=-/sbin/agetty\)#\1 --autologin root#; + s#\(^Alias=getty.target.wants/\).\+#\1autologin@tty1.service#' \ + /usr/lib/systemd/system/getty@.service > /etc/systemd/system/autologin@.service + +systemctl disable getty@tty1.service +systemctl enable multi-user.target pacman-init.service autologin@.service dhcpcd.service -- cgit v1.2.3-70-g09d2