1
Потестировал 64bit, всё очень шустро, а также очень глючно, функций очень мало, модулей не будет.
Кто ещё пробовал?
Кто ещё пробовал?
В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.
locale_id()
{
debug_log "locale_id" "$*"
local LOCALE i
# first try to find out locale from boot parameters
LOCALE="$1"
if [ "$LOCALE" = "" ]; then LOCALE=$(cmdline_value locale); fi
if [ "$LOCALE" = "" ]; then LOCALE=$(cmdline_value language); fi
if [ "$LOCALE" = "" ]; then LOCALE=$(cmdline_value lang); fi
# if not found, set it to locale from usr/lib/locale,
# but only if there is just ONE directory, nothing more
# (so we are sure which one to use)
if [ "$LOCALE" = "" ]; then
for LOCALE in $(ls -A1p /usr/lib/locale 2>/dev/null | grep / | sed -r "s:[/]|[.].*::"); do
i="1$i"
done
if [ "$i" != "1" ]; then LOCALE=""; fi
fi
if [ "$LOCALE" != "" ]; then
cat /usr/share/locale/locale.alias | sed -r "s/#.*//" | egrep "$LOCALE|$LOCALE""_" | tail -n 1 | tr -s "[[:space:]]" " " | cut -d " " -f 2- | tr -d " "
fi
}
Меняем на всего лишь (keep it simle короче)locale_id()
{
debug_log "locale_id" "$*"
local LOCALE
LOCALE=$(cmdline_value locale)
if [ "$LOCALE" != "" ]; then
echo $LOCALE
fi
if [ "$LOCALE" = "" ]; then LOCALE="ru_RU.utf8"
echo $LOCALE
fi
}
iocharset()
{
debug_log "iocharset" "$*"
local CHARSET IOCHARSET
# if iocharset is explicitly set at the boot prompt,
# return it regardless the locale settings
IOCHARSET=$(cmdline_value iocharset)
if [ "$IOCHARSET" != "" ]; then
echo $IOCHARSET
return 0;
fi
# else find out the iocharset from locale_id output, it should match
# some kernel module (after stripping out few of the dashes)
IOCHARSET=$(locale_id | cut -d . -f 2- | tr "[[:upper:]]" "[[:lower:]]" | tr -d -)
if [ "$IOCHARSET" = "" ]; then return 0; fi
find /lib/modules -name "nls_*" | sed -r 's:^.*/|[.]ko$::g' | cut -b 5- | while read CHARSET; do
if [ "$(echo $CHARSET | tr "[[:upper:]]" "[[:lower:]]" | tr -d -)" = "$IOCHARSET" ]; then
echo "$CHARSET"
return 0
fi
done
return 1
}
Меняем наiocharset()
{
debug_log "iocharset" "$*"
local CHARSET IOCHARSET
IOCHARSET=$(cmdline_value iocharset)
if [ "$IOCHARSET" != "" ]; then
echo $IOCHARSET
fi
if [ "$IOCHARSET" = "" ]; then
IOCHARSET=$(locale_id | cut -d . -f 2- | tr "[[:upper:]]" "[[:lower:]]");
echo $IOCHARSET
fi
}
fs_options()
{
debug_log "fs_options" "$*"
local NOAUTO IOCHARSET
NOAUTO=$(cmdline_parameter noauto)
if [ "$NOAUTO" = "" ]; then NOAUTO="auto"; fi
if [ "$2" = "fstab" ]; then echo -n "$NOAUTO," ; fi
if [ "$1" = "swap" ]; then echo "defaults,pri=1"; return 0; fi
echo -n "noatime,users,suid,dev,exec"
IOCHARSET=$(iocharset)
if [ "$1" = "vfat" ]; then
echo -n ",quiet,umask=0,check=s,shortname=mixed"
if [ "$IOCHARSET" ]; then
echo ",iocharset=$IOCHARSET"
fi
fi
if [ "$1" = "iso9660" ]; then
echo -n ",ro"
if [ "$IOCHARSET" ]; then
echo ",iocharset=$IOCHARSET"
fi
fi
if [ "$1" = "ntfs" ]; then
echo -n ",ro"
if [ "$IOCHARSET" ]; then
echo ",nls=$IOCHARSET"
fi
fi
if [ "$1" = "ntfs-3g" ]; then
echo ",locale=$(locale_id)"
fi
}
Меняем наfs_options()
{
debug_log "fs_options" "$*"
local NOAUTO IOCHARSET LOCALE
NOAUTO=$(cmdline_parameter noauto)
if [ "$NOAUTO" = "" ]; then NOAUTO="auto"; fi
if [ "$2" = "fstab" ]; then echo -n "$NOAUTO," ; fi
if [ "$1" = "swap" ]; then echo "defaults,pri=1"; return 0; fi
echo -n "noatime,users,suid,dev,exec"
IOCHARSET=$(iocharset)
LOCALE=$(locale_id)
if [ "$1" = "vfat" ]; then
echo -n ",quiet,umask=0,check=s,shortname=mixed"
echo ",codepage=866,iocharset=$IOCHARSET"
fi
if [ "$1" = "iso9660" ]; then
echo -n ",ro"
echo ",iocharset=$IOCHARSET"
fi
if [ "$1" = "ntfs" ]; then
echo -n ",ro"
echo ",nls=$IOCHARSET"
fi
if [ "$1" = "ntfs-3g" ]; then
echo -n ",force"
#Здесь у меня стоит параметр force, для того чтобы монтировало автоматом
#некорректно отмонтированные ntfs
echo ",locale=$LOCALE"
fi
}
C liblinuxlive все... (желетельно liblinuxlive в 001-core также заменить модифицированным)