Система на флешке, /usr в squashfs

another
Natrio
another
А еще если /usr не подмонтируется, то еще с прошлого года уже в консоль и не зайдешь.
Это надо понимать так, что initcpio вы тоже не используете?
Использую пока что. Только толку. Когда уже стартует загрузка с раздела флешки где корень не получается загрузиться. Там что-то переместили в /usr и оно залогиниться не дает. Что не вводи получаю не верный логин или типа того.
1) я спрашивал, используете ли вы initcpio, потому что в него входит busybox, и логиниться в него не надо. Обычно при невозможности смонтировать корень именно туда и выкидывает. Чтобы выйти в него принудительно, можно добавить в параметры ядра break
2) вы проверяли, выполняется ли ваша команда монтирования на обычной системе? Если да – ищите, что именно в ней требует usr и забирайте оттуда в корень. Если нет – выясняйте, почему.
Мои догадки и временный костыль. Пока отсрочил проблему копированием файлов из пакета kmod в /usr. После монтирования все равно тех файлов не видно. По мимо файлов из того пакета нужно еще zlib туда скопировать,а то чето ругается на отсутствие той либы.
А теперь мнение. Дело в том, что в начале старта загрузки с уже жесткого диска или флешки корневой раздел монтируется, но в режиме только чтения и там же теперь требуется наличие файлов в /usr. А его то как раз и нету еще! Как еще многого чего. Да еще с этими новшествами и управление модулями (собственно kmod) теперь в недоступном месте оказался (/usr/..).
Поэтому вижу решением, чтобы как-то /usr в тот же режим чтения подключался где-то и как-то или пересобирать kmod чтобы он не был в /usr. Кстати не так давно видел уже много сообщений на форуме на ту тему. Ведь для некоторых удобно /usr держать в отдельном месте. Это и вполне правильно даже и не нарушает никакой философии, но почему это убрали из “по умолчанию” возможности не ясно.
Я тоже задался вопросом.
Пока, правда, к экспериментам не приступал.

Вы из /etc/fstab вообще убрали эти строчки?
Логин итд, это уже вопрос init.
Для диагностики попробуйте автологин. У меня, по прочтении, сложилось впечатление, что что-то всё же грузится.

Кстати, в описании есть такое
You will need to add “alias autofs autofs4” to your modules configuration file
https://fastenv.ru
another, а вы не пробовали вместо копирования kmod просто добавить нужные для монтирования модули в initcpio?
Такая же ситуация.

На 8 гиговой флешке осталось 1.5 гига свободного места и это я еще пользователя не создал, остальное забито всякими нужными и не очень прогами. Сжал /usr в squashfs, радости не было предела когда на флешке стало 5.2 гига пустоты. Ну думаю жить можно.

Пытался подмонтировать по хорошему в /etc/fstab, а не вышло. Нарыл инфу про хуки, написал такой хук по примерам из инета:
#
# /etc/rc.d/functions.d/usr-squashfs-loop
#
usr_squashfs_loop () {
    mountpoint -q /usr     || mount -t squashfs -o loop,ro /usbUsr.sfs /usr
}
add_hook sysinit_start usr_squashfs_loop
Добавил в /etc/mkinitcpio.conf и пересобрал
MODULES="squashfs loop"
И нифига не работает!!!

После нескольких перезагрузок выявил недостачу:

/usr/bin/tput
/usr/lib/libblkid.so.1
/usr/lib/libblkid.so.1.1.0
/usr/lib/libmount.so.1
/usr/lib/libmount.so.1.1.0
/usr/lib/libncursesw.so.5
/usr/lib/libncursesw.so.5.9
/usr/lib/libreadline.so.6
/usr/lib/libreadline.so.6.2
/usr/lib/libuuid.so.1
/usr/lib/libuuid.so.1.3.0


Эти библиотеки оказались от этих утилит, добавил в /etc/mkinitcpio.conf и пересобрал
BINARIES="tput bash mount blkid"
И опять не работает!!! Ну что мне так не везет???

Единственный 100% рабочий вариант это оставить только эти файлы в /usr и использовать хук.

И еще я не использую aufs, так как обновление не проблема, устанавливал на флешку через chroot, а флешечный /usr подмонтировал в каталог на винте, и обновление тоже будет через chroot, с соответствующими монтированиями нужных папок и пережатием архива!

Помогите сделать это кошерно, я уже задолбался!!!

Или я дурак или разработчики такие умные что нужные системные либы запихнули в пользовательское пространство…
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja, попробуй использовать сжатую ФС
viewtopic.php?f=9&t=8342
Lupus pilum mutat, non mentem.
jim945
nafanja, попробуй использовать сжатую ФС
viewtopic.php?f=9&t=8342
Ты имеешь ввиду бтрфс, так пробовал, после установки с тем же набором прог 2.5 гига свободного места естественно с сжатием по умолчанию gz, но я использую еще шифрование пользовательской папки (да, вот я такой маньяк ;) ), так вот бтрфс глючит с шифрованием, заваливает ошибками при первом же запуске KDE
ecryptfs_do_create: Failure to create dentry in lower fs; rc =
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Ну не знаю. У меня с шифрованием и btrfs все в порядке.
nafanja
так вот бтрфс глючит с шифрованием, заваливает ошибками при первом же запуске KDE
Кеды на флешке, и вправду маньяк ;)

У меня на флешке все, что нужно и не очень
Файловая система       Размер Использовано  Дост Использовано% Cмонтировано в
/dev/mapper/truecrypt1   5,6G         2,8G  2,5G           53% /mnt/froot
/dev/sdg2                 44M          35M  6,1M           86% /mnt/froot/boot
Lupus pilum mutat, non mentem.
jim945
Кеды на флешке, и вправду маньяк ;)
А что? тормозит только при первом и втором запуске, а потом летает (конечно с отключенным непомуком и аконади)…
Ну там еще и опенбокс с наворотами, для слабеньких машин…
НО тема не об этом, а о том как же подключить по арчвейевски этот squashfs???
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Тут придумал еще один вариант подключения сжатого /usr в squashfs
На основе хука “usr” которому подавай раздел а не файл :(
/usr/lib/initcpio/install/usr_file
#!/bin/bash
# /usr/lib/initcpio/install/usr_file
build() {
    add_binary findmnt
    add_runscript
}
help() {
    cat <<HELPEOF
This provides a support for mounting /usr via a late running hook. No
configuration is needed, as the mount options will be pulled directly from the
fstab on the real root device.
HELPEOF
}
# vim: set ft=sh ts=4 sw=4 et:
/usr/lib/initcpio/hooks/usr_file
#!/usr/bin/ash
# /usr/lib/initcpio/hooks/usr_file
run_latehook() {
    local realtab=/new_root/etc/fstab
    if [ -f "$realtab" ]; then
        if usr_source=$(findmnt -snero source --tab-file="$realtab" /usr); then
            mountopts=$(findmnt -snero options --tab-file="$realtab" /usr)
#            fsck_device "$usr_source"
            msg ":: mounting '$usr_source' on /usr"
#            mount "$usr_source" /new_root/usr -o "$mountopts"
            mount /new_root"$usr_source" /new_root/usr -o "$mountopts"
        fi
    fi
}
# vim: set ft=sh ts=4 sw=4 et:

Это типа заглушка, что бы при сборке initcpio не выдавалось предупреждение что не может найти fsck.squashfs
#!/bin/sh
# /usr/local/sbin/fsck.squashfs
exit 0

И это заглушка, что бы не пере подключался сжатый /usr, что выводило предупреждение что уже примонтировано!
/etc/rc.d/functions.d/usr_file
#
# /etc/rc.d/functions.d/usr_file
#
NETFS=$NETFS",squashfs"

И соответственно сжатый файл подключается как обычно в fstab
/usbUsr.sfs   /usr   squashfs   ro   0 0

Добавить модуль и хук в mkinitcpio.conf, и пересобрать
MODULES="squashfs"
...
HOOKS="... usr_file filesystems ..."


Думаю такой вариант более правильный чем с оставлением в /usr нескольких либ.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
 
Зарегистрироваться или войдите чтобы оставить сообщение.