У ядра есть такой интересный параметр, как rootflags. В нём указывают опции монтирования корневой файловой системы. Странность в том, что этот параметр почему-то не принимает больше одного значения, то есть для ext3, скажем
работает, а
rootflags=data=journal,barrier=1
тихо падает без ошибок в dmesg и / монтируется с ro,data=ordered, (истинные опции как всегда только в /proc/mounts). Да, если в /etc/fstab указать для какой-нибудь другой ФС ext3 оба параметра, она смонтируется правильно. Кстати да, barrier=1
не нужен.
rootflags=data=journal,errors=remount-ro
Вот такой безобидный вариант тоже не будет работать.
ЧСХ, нигде, абсолютно нигде в документации мне не встречалось примера, чтобы rootflags использовался более чем с одним параметром.
$ man mount | grep rootflags
rootflags=data=journal.
$ grep rootflags /usr/src/linux/Documentation/kernel-parameters.txt -A3
rootflags= [KNL] Set root filesystem mount option string
rootfstype= [KNL] Set root filesystem type
Я уж думал, может строка в grub.conf для ядра слишком длинная, погрепал максимальные длины
$ find /usr/src/linux/ -type f -exec grep -Hi command_line_size {} \; | grep include/asm/setup.h
Но нигде не было цифры меньше 256, а у меня вся строка меньше
$ grep rootflags /boot/grub/grub.conf | wc -c
183
Но rootflags упорно продолжает отвергать параметры, если их больше одного.
Вот, у ребят с gentoo.ru тоже проблемы, но с lilo и xfs.
Если это самхау релейтед, то корень это раздел на RAID-массиве /dev/dm-5 и используется initrd.