You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
2.2 KiB
47 lines
2.2 KiB
#!/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
|
|
LOCALE_CONF=${LOCALE//-/}; LOCALE_CONF=${LOCALE_CONF,,}; LOCALE_CONF=${LOCALE_CONF//,/$'\n'}; LOCALE_CONF=$(sort -fu <<< ${LOCALE_CONF})
|
|
LOCALE_SYSTEM=$(${CMD_CHROOT} localedef --list-archive | sort -fu); LOCALE_SYSTEM=${LOCALE_SYSTEM,,}
|
|
[[ ${LOCALE_CONF} == ${LOCALE_SYSTEM} ]] || 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}/* ./
|
|
|
|
[[ -z ${CONSOLE_FONT} ]] || echo FONT=${CONSOLE_FONT} > ${ROOTFS}/etc/vconsole.conf
|
|
[[ -z ${CONSOLE_KEYMAP} ]] || echo KEYMAP=${CONSOLE_KEYMAP} >> ${ROOTFS}/etc/vconsole.conf
|
|
[[ -z ${CONSOLE_KEYMAP_TOGGLE} ]] || echo KEYMAP_TOGGLE="${CONSOLE_KEYMAP_TOGGLE}" >> ${ROOTFS}/etc/vconsole.conf
|