[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:
Gerardo Exequiel Pozzi 2012-10-26 11:34:50 -03:00
parent ee8e7f3eb9
commit a24ea84be0
2 changed files with 32 additions and 27 deletions

View File

@ -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
} }

View 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