1 (03.03.2010 15:28:20 отредактировано voffka)

Имею корневую ФС на ext4, при загрузке ядра 2.6.33 она монтируется только в read-only. При этом соседний раздел на рейзере монтируется как положено, в read-write. На соседнем ядре 2.6.31-r6 все хорошо, так что думаю, проблема не в fstab. Конфиг у ядер одинаковый, menuconfig взял его автоматом из /proc, прилагаю его ниже.
Оба ядра собирал из gentoo-sources.

-----------------------------------

Поборол проблему. Дело оказалось в неактивированной опции CONFIG_LBDAF в конфиге ядра. В менюконфиге она находится в

-*- Enable the block layer  --->
[*]   Support for large (2TB+) block devices and files

Если учесть, что ни дисков, ни тем более файлов более терабайта у меня нет, то это как-то странно. Система вообще на 15-ти гигвом разделе крутится (который как раз и не монтировался в rw)

С уважением, я
--------------------------
Гентушнег, антисоциал и немного сволочь.
Мой блог (крутится на домашнем ПК, за перебои в доступе ругайте провайдера)

2

Да конфиг тут ни при чём. Ибо в ядре просто нет возможности иметь ext4 только в режиме чтения. Только чтение-запись.
Что пишет попытка смонтировать?

3 (26.02.2010 12:04:04 отредактировано HTaeD)

Думаю, что дело не в ядре, т.к. у меня монтирует всё верно.
Попробуйте mount -o remount,rw /.

4 (26.02.2010 16:33:29 отредактировано voffka)

mount -o remount,rw / говорит cannot remount block device read-write - is write-protected
Собственно оно и ясно - в dmesg вываливается следующее:

sd 0:0:0:0: [sda] 488397168 512-byte logical blocks: (250 GB/232 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
...
EXT4-fs (sda1): barriers enabled
EXT4-fs (sda1): delayed allocation enabled
EXT4-fs: file extents enabled
EXT4-fs: mballoc enabled
EXT4-fs (sda1): mounted filesystem with ordered data mode
VFS: Mounted root (ext4 filesystem) readonly on device 8:1.

Почему - непонятно...

Прогонял fsck - ошибок нет, ничего не изменилось

С уважением, я
--------------------------
Гентушнег, антисоциал и немного сволочь.
Мой блог (крутится на домашнем ПК, за перебои в доступе ругайте провайдера)

5

Ядро не при чем, ext4 в качестве корневой нормально работает.

6

В принципе не удивительно что не проходит фокус с mount -o remount,rw /
так как к корневой файловой системе уже примонтированны и другие ФС.
не помешало бы показать еще и вывод следующих комманд:

# cat /etc/fstab
# cat /proc/mounts

может это намекнет на мысль.

7

ormorph пишет:

так как к корневой файловой системе уже примонтированны и другие ФС.

Не. Всё равно должно работать.

voffka пишет:

mount -o remount,rw / говорит cannot remount block device read-write - is write-protected

А что пишет sudo hdparm -r /dev/sda ?

8

У мну такая трабла была на ноуте, но с более старым ядром (не помню точно каким) и ext4 на корневой фс. Решилость использованием initrd (хотя ядро згружалось и без оного). В чем причина такого поведения я так и не выяснил.

Йа тьомный эльф

9

mount -o remount,rw / говорит cannot remount block device read-write - is write-protected

дико извиняюсь, mount -no remount,rw /

ЗЫ. параметр -n позволяет монтировать без записи в mtab ( как раз ваш случай)

10

Пока похоже bobr приближается к истине
должно было намекнуть просмотр cat /proc/mounts
rootfs

другими словами либо параметры загрузки, либо initrd

11 (27.02.2010 07:30:05 отредактировано )

ormorph пишет:

может это намекнет на мысль.

Не, не намекнуло, только запутало больше.
Fstab:

# <fs>                  <mountpoint>    <type>          <opts>          <dump/pass>

# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
/dev/sda1               /                      ext4            noatime          0 1
/dev/sda2               /mnt/d1         reiserfs        noatime         0 0
/dev/sdb1               /mnt/d2         reiserfs        noatime         0 0

/proc/mounts:

rootfs / rootfs rw 0 0
/dev/root / ext4 ro,relatime,barrier=1,data=ordered 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
rc-svcdir /lib/rc/init.d tmpfs rw,nosuid,nodev,noexec,relatime,size=1024k,mode=755 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
udev /dev tmpfs rw,nosuid,relatime,size=10240k,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620 0 0
shm /dev/shm tmpfs rw,nosuid,nodev,noexec,relatime 0 0
/dev/sda2 /mnt/d1 reiserfs rw,noatime 0 0
/dev/sdb1 /mnt/d2 reiserfs rw,noatime 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime 0 0

Добавление в fstab опции rw к корневому разделу к профиту не приводит, вывод cat /proc/mounts остается тем же

hdparm -r /dev/sda деоать не стал, сделал hdparm /dev/sda ибо не хочу, чтоб мой винт действительно в ридонли ушел. Получил следующее:

/dev/sda:
 multcount     =  0 (off)
 IO_support    =  1 (32-bit)
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 30401/255/63, sectors = 488397168, start = 0

По прежнему ума не приложу что это такое, почему mount при монтировании корня не смотрит в fstab?

HTaeD пишет:

дико извиняюсь, mount -no remount,rw /

Выдает то же самое.

Кстати, при загрузке ядра выпадает сообщение, мол /dev/sda монтируется с неподдерживаемыми опциями (сами опции не указаны). Но в dmesg я эту строчку найти не могу, почему-то

С уважением, я
--------------------------
Гентушнег, антисоциал и немного сволочь.
Мой блог (крутится на домашнем ПК, за перебои в доступе ругайте провайдера)

12

незнаю как получали initrd
могу предложить распаковать данный файл от старого ядра и подсунуть в него модули от нового ядра.
После этого снова создать файл и попробовать его использовать.
смотри утилиту cpio
пишу с мобилы, по этому точнее смогу только вечером.
ну и обычно в fstab обычно используется параметр defaults в корневом разделе
хотя сомневаюсь что дело в нем.

13

ormorph, в initrd у меня только бутсплеш, модуль для ext4 в ядре вкомпилен

С уважением, я
--------------------------
Гентушнег, антисоциал и немного сволочь.
Мой блог (крутится на домашнем ПК, за перебои в доступе ругайте провайдера)

14 (27.02.2010 20:03:37 отредактировано ormorph)

ну а пробовали монтировать какой нибудь раздел ext4 монтировать в ручную?  Например файл отформатировать и примонтировать Про фаил initrd написал, так как в нем должен быть скрипт загрузки и утилиты для работы с ФС

Немного просмотрел скрипт загрузки в своем intrd
изначально файловая система монтируется только для чтения, ну а потом выполняется команда:
mount -o remount,rw /
у вас по какой то причине не может перемонтировать в режим записи.
тут не знаю какой то глюк.

незнаю как создавали раздел ext4, если с нуля форматировали, перед этим не правили файл /etc/mke2fs.conf ?
например добавив строчку

ext4 = {
        features = has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
        inode_size = 256
    }

а затем командой mkfs.ext4
если с помощью tune2fs то читайте man там вроде должна быть подсказка.

15 (01.03.2010 23:41:46 отредактировано )

voffka пишет:

ormorph, в initrd у меня только бутсплеш, модуль для ext4 в ядре вкомпилен

У меня в initrd тоже ничего небыло, только сплеш. А тем не менее.

см выше, 8-ой пост.

Йа тьомный эльф

16

bobr пишет:

У меня в initrd тоже ничего небыло, только сплеш. А тем не менее.

см выше, 8-ой пост.

то есть у вас в файле initrd нет скрипта init ?
я просто вытащил часть, как работает этот скрипт.
тоесть изначально файловая система монтируется в режиме только чтения, затем перемонтируется в режим записи.
то есть само по себе может работать в режиме записи, но тут какой то глюк что неможет перемонтировать из режима чтения.
по этому и предлагал попробовать отформатировать файл и смонтировать его.

dd if=/dev/zero of=file.img bs=1M count=10
mkfs.ext3 file.img
mount -o loop,ro file.img /mnt/test -t ext4
mount -o loop,remount,rw file.img /mnt/test -t ext4

тут скорее всего не получится перемонтировать в режим записи.
но зато получится если изначально смонтировать по дефолту, затем перевести в режим только чтения, то из него возможно перейти в режим записи.

17

Решения так и не нашел. Написаное выше не помогает. Попробую еще потом ядро подергать и систему инициализации. Сейчас лениво...

С уважением, я
--------------------------
Гентушнег, антисоциал и немного сволочь.
Мой блог (крутится на домашнем ПК, за перебои в доступе ругайте провайдера)

18

ormorph пишет:
bobr пишет:

У меня в initrd тоже ничего небыло, только сплеш. А тем не менее.

см выше, 8-ой пост.

то есть у вас в файле initrd нет скрипта init ?

Ну скрипт, понятное дело, есть. Под словами "неичего нету" я имел в виду "никаких модулей". Вот как-то так точнее будет.

Йа тьомный эльф

19

Поборол проблему. Дело оказалось в неактивированной опции CONFIG_LBDAF в конфиге ядра. В менюконфиге она находится в

-*- Enable the block layer  --->
[*]   Support for large (2TB+) block devices and files

Если учесть, что ни дисков, ни тем более файлов более терабайта у меня нет, то это как-то странно. Система вообще на 15-ти гигвом разделе крутится (который как раз и не монтировался в rw)

С уважением, я
--------------------------
Гентушнег, антисоциал и немного сволочь.
Мой блог (крутится на домашнем ПК, за перебои в доступе ругайте провайдера)

20

voffka, просто ext4 так устроена. Поддерживает большие файлы. Странно то, что она вообще не зависит от этой опции, что её вручную надо включать. Логичнее было бы, если бы она автоматически менялась... или поддержка ext4 просто пряталась когда не поставлена эта птичка.