[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 <vmlinuz386@yahoo.com.ar>
This commit is contained in:
parent
ee8e7f3eb9
commit
a24ea84be0
@ -164,34 +164,14 @@ make_isolinux() {
|
|||||||
make_customize_root_image() {
|
make_customize_root_image() {
|
||||||
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
|
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
|
||||||
cp -af ${script_path}/root-image ${work_dir}
|
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
|
|
||||||
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
|
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
|
wget -O ${work_dir}/root-image/etc/pacman.d/mirrorlist 'https://www.archlinux.org/mirrorlist/?country=all&protocol=http&use_mirror_status=on'
|
||||||
sed 's#\(^ExecStart=-/sbin/agetty\)#\1 --autologin root#;
|
|
||||||
s#\(^Alias=getty.target.wants/\).\+#\1autologin@tty1.service#' \
|
lynx -dump -nolist 'https://wiki.archlinux.org/index.php/Installation_Guide?action=render' >> ${work_dir}/root-image/root/install.txt
|
||||||
${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}" \
|
mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" -r '/root/customize_root_image.sh' run
|
||||||
-r 'locale-gen' \
|
rm ${work_dir}/root-image/root/customize_root_image.sh
|
||||||
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
|
|
||||||
: > ${work_dir}/build.${FUNCNAME}
|
: > ${work_dir}/build.${FUNCNAME}
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
25
configs/releng/root-image/root/customize_root_image.sh
Executable file
25
configs/releng/root-image/root/customize_root_image.sh
Executable file
@ -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
|
Loading…
Reference in New Issue
Block a user