Пользователи уже не впервые жалуются на низкую скорость работы LiveCD с флэшки -- похоже, на недорогих флэшках, сильно тормозящих на запись, режим live_rw по умолчанию попросту не годится (а сейчас де-факто так и есть, поскольку вследствие моего слишком сильного исправления bug 28289 для тех же стартеркитов пункты загрузки "LiveCD" и "LiveCD с поддержкой сеансов" практически одинаковы). Предложение: учеть сказанное в коммите eb592241a93852d2658bcf58c98e35c2cdc8744a и выровнять условия *монтирования* rw-раздела с условиями его создания, либо хотя бы сделать монтирование условным по "live_rw" в командной строке ядра.
Изменил поведение make-initrd-propagator в 0.30: без live_rw в параметрах не монтирует и уже существующий rw slice. На UEFI думаю сделать умолчанием всё-таки вариант "live_rw без lowmem", т.е. грузить squashfs в RAM для чтения, а писать на флэшку (если это флэшка). Резон -- машины с UEFI, как правило, имеют от 2 Гб памяти и флэшки с ними применяются обычно тоже не самые древние/медленные (хотя...). Сейчас это выглядит так: - if get_cmdline automatic label || get_cmdline live_rw; then - create_disk_slice + if [ -d /sys/firmware/efi ] || get_cmdline automatic label; then + get_cmdline live_rw && create_disk_slice fi См. тж.: https://bugzilla.altlinux.org/show_bug.cgi?id=28289#c14 https://bugzilla.altlinux.org/show_bug.cgi?id=28289#c32 https://bugzilla.altlinux.org/show_bug.cgi?id=28289#c34 PS: ещё может иметь смысл сделать проверку на разумный объём места: напоролся на ситуацию, когда образ впритирку влез на четырёхгиговую флэшку, /.rw получился размером мегабайт двести и без дополнительных действий даже apt-get update было не выполнить.
make-initrd-propagator-0.30-alt1 -> sisyphus: * Tue Sep 06 2016 Michael Shigorin <mike@altlinux> 0.30-alt1 - only mount rw slice when live_rw is specified explicitly due to severe I/O penalty coming with it (closes: #32476) - slightly better package description
(В ответ на комментарий №2) > - only mount rw slice when live_rw is specified explicitly > due to severe I/O penalty coming with it (closes: #32476) Это неправда, т.к. условие get_cmdline live_rw накладывалось только на вызов create_disk_slice(), но не на объемлющий его вызов disk_slice(). Обсудили с george@, он подсказал мнемонику для refind -- "RO" показывать как CD (что сейчас и делается), live_rw -- как флэшку. Это потребуется реализовать в том куске mkimage, который давно надо бы оттуда вынести в профили, и в refind (для начала починив сборку, это обновление efi toolchain со всеми вытекающими). Пока думаю выровнять условия _создания_ и _монтирования_ disk slice, перенеся дополнительное условие из "внутри disk_slice()" в место вызова этой функции (при этом остаётся возможность монтирования раздела с меткой "alt-live-storage" с локального диска или другой флэшки, чем пользовался ildar@): disk_slice(){ local dev=/dev/disk/by-label/alt-live-storage case "$(get_cmdline -p automatic method)" in disk|cdrom) if [ -d /sys/firmware/efi ] || get_cmdline automatic label; then - get_cmdline live_rw && create_disk_slice + create_disk_slice fi ;; esac [...] if equal_cmdline live stagename || equal_cmdline rescue stagename; then - disk_slice + get_cmdline live_rw && disk_slice fi
make-initrd-propagator-0.31-alt1 -> sisyphus: * Mon Oct 17 2016 Michael Shigorin <mike@altlinux> 0.31-alt1 - improve RW slice operation (closes: #32476, #32562): only create/use it when there's enough space (1Gb or more), and it's been either + explicitly asked for (BIOS mode), or + fast enough (UEFI mode; otherwise the filesystem will be marked "alt-slow-storage") - add mkfs/mount options for faster operation - extend debug support