После пересборки ядра виснет на перемонтровании корня в rw [SOLVED]
panter_dsd 2 октября, 2008 - 11:18
Ядро 2.6.26.3-calculate.
На Gentoo перешел только вчера, так что скорее всего что-то не так делаю. :( В общем нужно добавить поддержку reiser4, т.к. хоум на нем.
1. Сделал sudo zcat /proc/config.gz >> /usr/src/linux/.config
2. Накати патч reiser4-for-2.6.25.patch.gz, для 2.6.26 не нашел патча.
3. В menuconfig добавил reiser4 как модуль.
4. sudo make;
5. sudo make modules_install;
6. sudo cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.26.3-calculate-reiser4
7. Подправил груб.
8. Reboot.
В общем выбивает на этапе перемонтирования корня в rw. :(
»
- Для комментирования войдите или зарегистрируйтесь
cat /etc/fstab cat
cat /etc/fstab
cat /boot/grub/menu.lst
и кусок конфига ядра, где включаются файловые системы
/dev/sdb6 /
/dev/sdb6 / reiserfs noatime 0 2
/dev/sdb8 none swap sw 0 0
proc /proc proc defaults 0 0
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
//-----------------------------
timeout 5
default 0
fallback 1
splashimage=(hd1,5)/boot/grub/calculate.xpm.gz
title Calculate Linux Desktop 8.9 i686
root (hd1,5)
kernel /boot/vmlinuz root=/dev/sdb6 vga=0x317,ywrap,mtrr:3,splash=silent,theme:tty1 CONSOLE=/dev/tty1 udev quiet noresume
initrd /boot/initrd
title Calculate Linux Desktop 8.9 i686-reiser4
root (hd1,5)
kernel /boot/vmlinuz-2.6.26.3-calculate-reiser4 root=/dev/sdb6 vga=0x317,ywrap,mtrr:3,splash=silent,theme:tty1 CONSOLE=/dev/tty1 udev quiet noresume
initrd /boot/initrd
//-----------------------------
#
# File systems
#
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT2_FS_XIP=y
CONFIG_FS_XIP=y
CONFIG_EXT3_FS=m
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4DEV_FS=m
CONFIG_EXT4DEV_FS_XATTR=y
CONFIG_EXT4DEV_FS_POSIX_ACL=y
CONFIG_EXT4DEV_FS_SECURITY=y
CONFIG_JBD=m
CONFIG_JBD2=m
CONFIG_FS_MBCACHE=m
CONFIG_REISER4_FS=m
# CONFIG_REISER4_DEBUG is not set
CONFIG_REISERFS_FS=m
CONFIG_REISERFS_CHECK=y
CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
CONFIG_JFS_DEBUG=y
CONFIG_JFS_STATISTICS=y
CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_FS=m
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_DEBUG is not set
# CONFIG_OCFS2_FS is not set
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_QUOTA is not set
CONFIG_QUOTACTL=y
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=m
С уважением.
Пантер.
Quote: CONFIG_REISERFS_FS=m
мнэ... тут товарищ ниже правильно подсказал по поводу "ядерности" файловых систем.
Вообще,
Вообще, насколько я помню, уж /home это некритично. Найдёт корень, смонтирует его, найдёт модули, смонтирует /home
Пожалуйста, не описывайте своё железо в подписи
/dev/sdb6 / reiserfs noatime
/dev/sdb6 / reiserfs noatime 0 2
это у него в /etc/fstab, соответственно, корень у него -- reiserfs.
а в ядре reiserfs подключается модулем.
А-а-а, ну да,
А-а-а, ну да, тогда дело другое
Пожалуйста, не описывайте своё железо в подписи
Так что делать?
Так достаточно сделать mkinitrd и должно заработать?
Просто в Слаке с таким не сталкивался. :( Да и ядро очень редко трогаю, если бы реизер4 поддерживался по умолчанию, то и не трогал бы.
С уважением.
Пантер.
Если проблема
Если проблема еще не решена, то предлагаю все же вкомпилить намертво и третий и четвертый рейзер в ядро. Если возникают ошибки, то можно попробовать на время закаментить строчку с initrd в загрузчике, может в нем причина.
ИМХО: В любом случае подключать основные фс модулями не верный подход, и если уж при вкомпиливании фс возникают ошибки, то наверняка их разрешить будет проще, чем думать как загрузить модули фс. Опишите ошибки которые возникают если вкомпилить намертво.
Пока не могу
Пока не могу, так как собираю ядро по http://gentoo-wiki.com/HOWTO_ReiserFS_4. Посмотрим. :)
С уважением.
Пантер.
.
так там же написано, что стОит reiser4 вкомпилировать в ядро, а не модулем... ;)
но, опять же...
у тебя ядро _не_содержит_ вкомпилированной поодержки reiserfs (а корневая FS у тебя именно на ней). варианта 2 или использовать initrd или вкомпилировать в ядро поддержку reiserfs
(_|_)
Млин, я уже не знаю что делать. *WALL*
Пользуясь http://gentoo-wiki.com/HOWTO_ReiserFS_4 скачал linux-2.6.27-rc5-mm1.
Копирую туда старый конфиг, компилирую, копирую в /boot, делаю mkinitrd, перезагружаюсь и ядро не может найти устройство /dev/sdb6 (это мой корень).
Если кому не западло, распишите по шагам, что нужно делать, уже 2 дня бьюсь... У меня все кроме корня в реизер4 и соответственно не доступно. :'(
С уважением.
Пантер.
Во-первых,
Во-первых, конфиги от разных ядер могут быть не совместимы, поэтому не стоит просто так копировать старый конфиг, лучше все настроить руками по новой с самого начала, это не так сложно: http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml?part=1&chap=7.
Во-вторых, вкомпилировать в ядро, а не собрать модулями ВСЕ основные фс, т.е. вам нужны третий и четвертый рейзеры оба вместе.
В-третих, initrd и mkinitrd в топку, так как нужны они только если фс собраны модулями, строку с initrd в загрузчике надо удалить или закоментировать.
Далее, убираем из fstab все разделы с рейзер4, пробуем загрузиться, если загрузились заходим сразу под рутом и пробуем монтировать проблемные разделы в ручную.
Проверьте установили ли вы reiser4progs, может в их отсутствии все дело.
Если все равно не грузится, верните в рабочее состояние, и соберите 4й рейзер модулем, и не презагружаясь загрузите его в ручную, и попробуйте смонтировать проблемные разделы.
Эф...
Уже столько всего перечитал и перепробовал.... Пытаюсь сейчас через genkernel, но пока безрезультатно. :( На данный момент винтарей вообще нет в /dev.
С уважением.
Пантер.
Уже хоть что-то...
Все, с этой проблемой разобрался, просто в ядре не выбрал свой винт. Теперь выбивает на другом... В общем идет загрузка, запускается 3 ранлевел, последней записью запускается HAL (вроде бы корректно) и дальше пишет кернел-паник, все будет перезагружено через 3 секунды, даже все толком прочитать не могу, т.к. перезагружается.
С уважением.
Пантер.
От рута в
От рута в /etc/sysctl.conf установите значение kernel.panic в 0.
kernel.panic=0
Это отключит автоматическую перезагрузку и даст полностью прочитать сообщение.
Если бы...
Поставил 30 секунд, но так как все сообщение не умещается на экране, а прокрутить невозможно, то... В общем сейчас пробую еще раз на 2.6.26 наложить патч от 2.6.25 и собрать.
С уважением.
Пантер.
в /var/log/messages
в /var/log/messages смотрели? Там должны быть все сообщения от ядра и процесссов, и он не затирается после перезагрузки.
Зы: я юзаю syslog-ng
Решено
Всем спасибо за то, что помогали. Решение элементарное.
Наложил патч на 2.6.26 и пересобрал его. Моя ошибка была в том, что не создавал initrd.
Простите уж, дурака. Зато сколько нового я узнал. ;)
С уважением.
Пантер.
panter_dsd пишет: 3.
Handbook:
Теперь войдите в File Systems и выберите поддержку всех нужных файловых систем. Не компилируйте их как модули, иначе система Gentoo не сможет смонтировать дисковые разделы.
Зы: сам рейзер не юзаю, так что про особенности не в курсе.
В ядре по
В ядре по умолчанию все фс были как модули собраны. Если собирать не как модуль еще хуже ошибку выдает, правда точно не помню. В общем не может даже на чтение открыть. Корень под реизером3, так что все должно работать как прежде, т.к. для реизера3 дефолтные настройки старого ядра.
С уважением.
Пантер.
если по
если по умолчанию все фс были собраны как модули, значит был initrd образ, который и сейчас тоже нужно делать. (косвенно это подтверждается наличием вкомпиленной в ядро единственной файловой системой XIP)
Попробовать на
Попробовать на .25 ведре?
Пожалуйста, не описывайте своё железо в подписи
Как вариант
Как вариант, только пока нет возможности выкачать его. :(
С уважением.
Пантер.
А если все фс
А если все фс собраны как модули по умолчанию, то эти модули должны быть загружены до начала монтирования всех фс.
cat /etc/modules.autoload.d/kernel-2.6
Они загружаются
В самых первых строчках при загрузке пишется, что модуль реизер3 загружен, да и корень на чтение монтируется.
С уважением.
Пантер.
Ещё можно
Ещё можно попробовать другие исходники, типа zen-sources (кажется), в которые включена поддержка reiserfs4.
Скорее всего, придётся докачивать только патчи
Пожалуйста, не описывайте своё железо в подписи
CONFIG_REISERFS_FS=m CONFIG_R
CONFIG_REISERFS_FS=m
CONFIG_REISER4_FS=m
т.е. я так понял что четвертый рейзер отдельным модулем идет, не загрузив который мы не можем смонтировать соотв. фс.
CONFIG_REISERFS_FS=m CONFIG_R
Пока ничего с реизером4 не монтируется. В общем попробую сейчас ядро без патча пересобрать с oldconfig, если заработает, то патч виноват.
С уважением.
Пантер.
http://gentoo-wiki.com/HOWTO_
http://gentoo-wiki.com/HOWTO_Reiser4_With_Gentoo-Sources
http://gentoo-wiki.com/HOWTO_ReiserFS_4
Без патча
Без патча все работает. Значит проблема в нем.
С уважением.
Пантер.
была похожая
была похожая ерунда с reiser4 ядром
после make oldconfig ядро не грузилость,
тогда я его по свежачку сконфигурил руками -всё заработало
У меня тоже
У меня тоже висло на ремаунтинг ин рв, только если минут 20 подождать, то даже иксы потом подгружались) Правда у меня корень рейзер4 был. В гугле есть рацпредложения насчет перемонтировать ее вручную или чета типа того, но не сработало. У меня с этим рейзером чуть глаза не вытекли, столько я сидел за компом, пытаясь это пофиксить.
В общем я поставил корень в ext3 до следующего раза когда приключений захочется.
P.S.: А ядро 2.6.26-gentoo-r1 у меня собралось за милую душу с тем патчем.
portmap
Кажись виснет на запуске portmap, что не так может быть?
С патчем к 2.6.25?
С уважением.
Пантер.
Нашел проблему
Сбоит hal. Отключил его и все запускается. Как узнать почему он сбоит?
С уважением.
Пантер.
Посмотреть
Посмотреть critical/kernel лог, либо поставить panic= побольше в опциях ядра, /etc/sysctl.conf или где оно выставленно.
Нашел где
Нашел где увеличить число секунд, но все равно ничего не понятно из того, что оно пишет. И не логируется, хотя запускал с параметром --use-syslog. :(
С уважением.
Пантер.