#!/usr/bin/env bash # # Initial script for Live operating system # This script are launching before starting init from linux-live script. # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin [[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/os-config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" SYSCONF="${ROOTFS}${SYSCONF}" SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/keyboard; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/locale; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null NEWLANG=$(cmdline_value lang) [[ -z ${NEWLANG} ]] || { LOCALE+=",${NEWLANG}" && LANG="${NEWLANG}"; } for I_LOCALE in ${LOCALE//,/ }; do sed -i "s/^#${I_LOCALE} /${I_LOCALE} /g" ${ROOTFS}/etc/locale.gen done ${CMD_CHROOT} env LANG=${LANG} locale > ${ROOTFS}/etc/locale.conf [[ -n ${FORCE_LOCARCHIVE} ]] && FORCEGEN=1 [[ ! -f ${ROOTFS}/usr/lib/locale/locale-archive ]] && FORCEGEN=1 #[[ "$(echo -e ${LOCALE//,/\\n} | sort -fu)" != "$(chroot . localedef --list-archive | sort -fu)" ]] && FORCEGEN=1 [[ -n ${FORCEGEN} ]] && chroot . locale-gen &>/dev/null #; unset LANG; source /etc/profile.d/locale.sh" # Если имеются языкозависимые файлы, то копируем в корень [[ -d ${ROOTFS}/usr/share/ublinux/langs/${LANG} ]] && cp -pfr ${ROOTFS}/usr/share/ublinux/langs/${LANG}/* ./ echo FONT=${CONSOLE_FONT} > ${ROOTFS}/etc/vconsole.conf echo KEYMAP=${KEYBOARD} >> ${ROOTFS}/etc/vconsole.conf [[ -z ${KEYMAP_TOGGLE} ]] || echo KEYMAP_TOGGLE="${KEYMAP_TOGGLE}" >> ${ROOTFS}/etc/vconsole.conf