LINUX.ORG.RU
ФорумAdmin

Вопросы по монтированию корня.

 , ,


0

0

1. Раньше помню в выводе mount было что / ещё как-то в tmpfs был смонтирован, вроде. Или мне память изменяет? Сейчас просто корень смонтирован как блочное устройство. Дистр gentoo. Нужно ли это для оптимизации? А в live системах корень вообще как overlayfs смонтирован.

2. Не срабатывают опции монтирования корня (lazytime,errors=remount-ro) из /etc/fstab.

★★★★★

Последнее исправление: teod0r (всего исправлений: 1)

правильно я понимаю, что по второму вопросу надо передавать загрузчику rootflags= ?

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

★★★★★
Не читать документации

Классика.

какой-то rootfs

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Docum...

/ ещё как-то в tmpfs

Память изменяет.

опции монтирования корня

Прописываются параметром ядра rootflags=

anonymous
()
Ответ на: комментарий от anonymous

Память изменяет.

так там написано, что если есть CONFIG_TMPFS=y оно tmpfs, а не rootfs.

так оно по идее должно быть обязательно в системе / как rootfs или tmpfs? почему у меня нет?

teod0r ★★★★★
() автор топика
Ответ на: комментарий от anonymous

попробовал задать rootflags=defaults,lazytime,journal_async_commit — kernel panic

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

так оно по идее ... почему у меня нет?

Дальше читай. Это просто заглушка, а не для чего-то реально используемая фс.

kernel panic

Убирай оттуда defaults, нет такого параметра, это заглушка выдуманная в fstab.

anonymous
()
Ответ на: комментарий от anonymous

Это просто заглушка, а не для чего-то реально используемая фс

а может она нужна для ускорения чтения файлов? ведь каждое чтение это запись, если не задано noatime и nodiratime

teod0r ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Убирай оттуда defaults, нет такого параметра, это заглушка выдуманная в fstab.

передал rootfs=rw,suid,dev,exec,auto,nouser,lazytime,errors=remount-ro,journal_async_commit — kernel panic.

пишет Unable to mount root fs on unknown-block(8,17)
хотя в grub.cfg прописан root='hd0,gpt1'

teod0r ★★★★★
() автор топика

2. Просто lazytime из fstab у меня работает. systemd? Попробуй прям в FS прописать, если ext4. Я relatime,lazytime для некоторых в mke2fs.conf прописывал. Можешь через tune2fs попробовать. Или в ядре default поменять.

anonymous
()
Ответ на: комментарий от teod0r

Где в официальной документации (та ссылка, что я дал) такая чушь написана? ))

anonymous
()
Ответ на: комментарий от teod0r

rootfs

Должно же быть rootflags=.

Все твои «rw,suid,dev,exec,auto,nouser» убирай, их невозможно передать через rootflags=, тк часть из них вввввнутернняя выдумка /bin/mount, а часть передаются как битовая маска. Ядро паникует от неизвестных опций.

anonymous
()
Ответ на: комментарий от With

Впишешь, не будет. На самом деле просто часть параметров, например noatime, так не передать, будет паника.

anonymous
()
Ответ на: комментарий от anonymous

Впишешь, не будет.

Пример как это вписать.

На самом деле просто часть параметров, например noatime, так не передать, будет паника.

А как передать? Знаю что можно отредактировать через hex редактор initramfs файл найти там строку с rootflags= и вписать дополнительные праметры монтирования, но это, в общем-то, путь надо сказать, какой-то упорото-виндузятнический. )

With ★☆☆
()
Ответ на: комментарий от Pinkbyte

Покажи полный cmdline загружаемого ядра.

/boot/grub/grub.cfg:

timeout=2

menuentry 'Gentoo' {
    root='hd0,gpt1'
    linux /boot/vmlinuz-4.5.7 root=PARTUUID=2db49bae-f355-4048-b17d-c731238dfd52 rootwait rootflags=async rw nomodeset fbcon=vesafb video=vesafb:ywrap,mtrr:3 consoleblank=0 --
}

На каком разделе находится корень?

на hd0,gpt1

With, сейчас даже при передаче одного параметра после rootflags= — kernel panic

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

опции монтирования корня (lazytime,errors=remount-ro) из /etc/fstab
kernel panic
в grub.cfg прописан root='hd0,gpt1'
★★★★★
gentoo

по-моему всё логично

дятел, что ядро тебе сообщает?

anonymous
()
Ответ на: комментарий от teod0r

тебе нужен скриншот паники?

Я так понимаю, что если нет возможности загрузиться и выполнить dmesg, то /var/log/kern.log, /var/log/messages или как там они называются в gentoo?

aureliano15 ★★
()
Ответ на: комментарий от teod0r

а как может быть /var/log, если корень не успевает смонтироваться?

Сорри, ступил. :-) Ну тогда ничего не остаётся, как изучать скриншот начальной загрузки.

А по топику:

1. Раньше помню в выводе mount было что / ещё как-то в tmpfs был смонтирован

Никогда такого не видел. Насколько я знаю, tmpfs - это временная ф/с в RAM, способная выгружаться в своп (в отличие от невыгружаемой ramfs). В tmpfs обычно монтируется раздел /tmp и некоторые псевдофс, типа /run и т. д. Поэтому как может быть в tmpfs смонтирован корень, я просто не представляю (разве что заранее всё копировать с реального корня, а после каждой перезагрузки терять все обновления и перенастройки).

А в live системах корень вообще как overlayfs смонтирован.

Live-cd - это другое. Там корень не может модифицироваться по определению. Но иногда это нужно (хотя бы временно, до перезагрузки). Отсюда и overlayfs, позволяющая наслаивать ramfs или tmpfs на содержимое загрузочного компакт-диска.

2. Не срабатывают опции монтирования корня (lazytime,errors=remount-ro) из /etc/fstab.

Вот это странно. У меня в Debian в fstab

UUID=0826c3b2-f5c2-45d0-9c83-ab8b1881c971 /               ext4    user_xattr,errors=remount-ro 0       1

Т. е. с errors=remount-ro всё Ok. lazytime использовать не приходилось, но relatime на старых компах включал, и тоже проблем не было.

aureliano15 ★★
()
Ответ на: комментарий от With

Пример

rootflags=x=1,y=2 внезапно.

А как передать

Никак, перемонитировать корень пост-фактум (это атомарная операция mount -o remount).

anonymous
()
Ответ на: комментарий от anonymous

попробовал передать rootflags=errors=remount-ro — тоже паника!

teod0r ★★★★★
() автор топика
23 декабря 2017 г.
Ответ на: комментарий от With

Нет, я проверял. Опять вписываете опции, которые передаются не так а через битовую маску?

anonymous
()
Ответ на: комментарий от anonymous

И со скобками и без скобок пытался добавить к параметрам монтирования через rootflags filestreams и delaylog — две эти опции монтирования.

With ★☆☆
()
Ответ на: комментарий от With

От дистрибутива же не зависит же, дебиан, арч, гента.

anonymous
()
Ответ на: комментарий от With

Смотри передаются ли эти опции строками или битмасками, в исходниках ядра нагрепай в подкаталоге соответствующей файловой системы.

anonymous
()

2. Не срабатывают опции монтирования корня

Так как монтирование корня делается из певоначальной загрузочной системы то после изменения опций монтирования корня в fstab надо пересоздать образ рамдиска init.rd или дождаться обновления ядра.
(Можешь его снести и поставить заново)

torvn77 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.