LINUX.ORG.RU

end trace в консоли при запуске Slackware

 ,


0

3

После установки (удачной) Слаки понял, что лучше поменять разметку диска, пока не обжил систему, отформатировал разделы, снова произвел установку (без LILO, с запуском из grub2), но теперь при загрузке Slackware в консоли выводится ошибка end trace. Что это и как можно побороть?
До переустановки из граба грузилась как надо, при установке единственным отличием была другая разметка и отказ от LILO.
P.S. Подтверждение на практике принципа «работает — не лезь!»

★★

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

Ответ на: комментарий от andregin

Да. Она только почему-то стала заметно дольше запускать (аж 4 минуты вместо 40-50 секунд до этого), но работает.

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

Пахнет на то что не нашло корневого раздела(mount_root + mount_block_root). То ли фс не понравилась, то ли ещё что. Граб передает ядру кто корень?

FeyFre ★★★★
()

Что это

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

Grub загружается, или загрузку выполняет lilo? И какие параметры загрузчик передаёт ядру? Если грузит груб, то какое ядро он грузит и есть ли там другие файлы с образами ядра (vmlinuz-huge-...). Это можно посмотреть из-под груба, если начинать редактировать и вводить имя файла, по то TAB от дописывает возможные варианты.

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

Не знаю, как это посмотреть.

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

Grub загружается. Lilo на компьютере нет больше в принципе (успел удалить со Slackware, пока она ещё была в рабочем состоянии). Как посмотреть, какие параметры загрузчик передаёт ядру и какие ядра загружает grub? Единственное, что я делал для настройки, это

grub2-mkconfig -o /boot/grub2/grub.cfg
после чего Slackware и обнаружилась (перегенировать конфиг научился когда настраивал гибернацию в Федоре когда-то, на этом навыки работы с грабом и заканчиваются, к сожалению)

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

grub вроде изначально был на ноутбуке, потому что я его сразу брал с Линуксом (Ubuntu, но пользоваться ей не планировал и сразу поставил Fedora). В последствии настраивал в Федоре, да.

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

Открыл. Теперь хочу узнать реальные UUID и сравнить. На

blkid /dev/sda_номер_раздела
никакой реакции. Что я делаю не так?

Hasek ★★
() автор топика
Ответ на: комментарий от anonymous
cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Wed Aug 27 09:49:48 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=fb091879-ca17-4bfd-8ea1-73958e65ae0e /                       ext4    defaults        1 1
UUID=b654c06b-02c9-4612-acca-3a59b177e899 /home                   ext4    defaults        1 2
UUID=909fabd0-afb6-497d-a4bb-fc7206952e21 swap                    swap    defaults        0 0
lsblk -f
NAME    FSTYPE LABEL       UUID                                 MOUNTPOINT
sda                                                             
├─sda1  vfat   DELLUTILITY D2C1-B5D9                            
├─sda2  vfat   OS          533D-DE72                            
├─sda3  ext4               40d2ced3-14db-491a-817c-c729527a8fec 
├─sda4                                                          
├─sda5  swap               00688f72-e77a-47bb-b139-36049fbbef97 
├─sda6  ext4               b654c06b-02c9-4612-acca-3a59b177e899 /home
├─sda7  ext4               fb091879-ca17-4bfd-8ea1-73958e65ae0e /
├─sda8  swap               b481cbe8-0478-46b1-8d08-967c1207546d 
├─sda9  ext4               2cd5cf49-fa39-4603-b0d0-40b0be66b69f 
└─sda10 ext4               bf7e44d5-5a76-4013-b481-9cfe4f9e11a5 

Как я понял, в fstab видна только текущая операционная система (Fedora), поэтому проверить UUID для Slackware не могу. Для Fedora совпадает.

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

Один «заводской» для Убунты, но он не хотел распознаваться как swap-раздел при установке Федоры, поэтому для неё пришлось заводить свой (его же указывал и при установке Слаки). Сейчас swap размонтирован, потому что я его отключал (swapoff в GParted), чтобы отрезать свободное место от /dev/sda3 и перегнать его на /dev/sda4 (логический раздел, внутри которого Fedora и Slackware). Могу сейчас примонтировать в GParted обратно, должно сработать. А вот что не совпадает ни один — это уже плохо.

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

Спасибо! Подключу обратно (swapon в GParted).

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

При перезагрузке swap отвалился и система снова долго грузилась. Как его можно прописать не через GParted?

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

Сейчас открою в gedit и заменю. А его надо потом перегенерировать, как грабовский конфиг? Если да, то как?

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

нет, просто ресет, только смотри, если у иебя две системы используют один своп, то если ты одну положишь спать, зайдешь в другой, то сон первой потеряешь. Со слакой, не могу подсазать, почему не грузится, не находит дороги.

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

пробуй еще mkconfig, смотри параметры ядра, в крайнем случае установи слаку с установкой загрузчика не в корень диска, а в раздел, затем set root=сда_слаки и chainloader +1

andregin
()

Пока разбираешься возьми какой-нибудь live-дистрибутив с gparted (mint-xfce4 н-р) и разметь как тебе надо

установи lilo от слаки в root-раздел ее, а grub fedora оставь на MBR

и в grub пропиши загрузку загрузчика на slackware-разделе

www.linux.org.ru/wiki/en/Slackware#GRUB_.D0.B2_MBR.2C_.D0.B0_LILO_.D0.B1.D1.8...

NK ★★★★★
()
Последнее исправление: NK (всего исправлений: 3)

Небольшое замечание, напрямую с проблемой не связанное, но тоже про grub.
Для generic ядра в Slackware принято создаваемый образ initrd обзывать initrd.gz (по крайней мере оно так по всем наличным руководствам), а вот grub по-умолчанию опознавать такое имя не обучен. Поэтому в Slackware grub правится на этот счет вот так: http://slackware.osuosl.org/slackware64-14.1/source/a/grub/initrd_naming.patc... в районе grub-2.00/util/grub.d/10_linux.in.

То есть, в таком варианте либо ради автоматики править grub, либо именовать initrd согласно представлениям grub, либо зачищать хвосты ручками.

Имейте в виду.

на /dev/sda4 (логический раздел, внутри которого Fedora и Slackware)

/dev/sda4 — это расширенный раздел (extended), внутри которого логические (logical) разделы

bormant ★★★★★
()
Последнее исправление: bormant (всего исправлений: 1)
Ответ на: комментарий от Hasek

монтируй корень слаквари и смотри тамошний fstab, а не федоркин.

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

записывает /dev/sda1, а не UUID

Установщик пишет имена разделов, но при желании можно прописать UUID-ы, /etc/fstab — это файл настроек mount, а тот UUID-ы вполне понимает.

А вот корень ядру передавать параметром root= как UUID= или LABEL= можно при наличии initrd, эту магию его скрипты разбирают, не само ядро. Поэтому в варианте с huge(-smp) ядром без initrd такой фокус не прокатывает.

bormant ★★★★★
()

Тут тебе какой-то фигни насоветовали. В основном верно, но местами как-то неоптимально.

И так, объясняю по порядку:

1. Это не ошибка end trace. Это kernel panic. После сообщения о причине паники пишется трассировка, которая в данном случае тебе не нужна, так как наиболее частая причина kernel panic, более частая чем баги в ядре и криво работающее железо — это невозможность смонтировать корневую файловую систему — то есть ту, куда у тебя установлена Slackware. Желательно было бы успеть увидеть сообщение ядра до того как вылезет трассировка, но не обязательно, и так можно догадаться, в чём дело.
2. Это может происходить потому что у тебя ядро generic без initrd или потому что корневая файловая система в параметрах ядра указана неправильно. Надеюсь ты знаешь, как называется раздел, куда у тебя установлена Slackware? Пусть это будет /dev/sdaX, тогда тебе нужно при загрузке зажать shift, если нет таймаута, если есть то просто быстро нажать на что-нибудь вроде стрелки вниз, чтобы не грузился пункт по умолчанию и потом сочетание клавиш для перехода в консоль груба (скорее всего просто клавиша <c>, читай подсказку внизу). В консоли grub пишешь команды:

set root=(hd0,msdosX)
linux /boot/vmlinuz-huge root=/dev/sdaX
boot
Когда пишешь первую команду, нажимаешь tab, чтобы дополнить имя жесткого диска и имя раздела. Если у тебя разметка DOS, то будет что-то вроде (hd0,msdos7), если разметка GPT, то будет как-то по-другому (сходу не помню), но в любом случае нажатие tab тебе подскажет варианты. нужно будет догадаться какой верный. Если что можно выполнить команду find /boot/vmlinuz-huge и она тебе выведет имя раздела со Slackware в формате grub.
3. После всего этого у тебя должна загрузиться Slackware, если нормально загрузится, то решай, что ты хочешь, lilo или grub, в любом случае нужно будет прописать в конфиге правильные параметры загрузки. Кроме этого, возможно ты захочешь перейти на ядро generic, сгенерировав initrd, если ты это ещё не сделал и соответствующим образом поправив конфигурацию.
Не советую делать и то и другое, как тебе предлагали, поскольку так грузиться будет медленней, чем если все ОС настроить через один загрузчик.
4. Причина этой ошибки почти наверняка в том, что установленная у тебя версия grub при генерации конфига не смогла правильно сгенерировать конфиг для Slackware, тебе нужно или написать правильный конфиг в /boot/grub/grub.conf или исправить конфигурационные файлы в /etc/grub* чтобы скрипты генерировали всё правильно. Второе предпочтительнее, но потребует вдумчивого чтения манов по грубу. Я сам бы это сходу не сделал.
5. Тебе предлагали смотреть /etc/fstab от Slackware, а не от федоры. Что ты показал именно от федоры видно по тому, что он сгенерирован анакондой.
6. Посмотеть fstab можно, если смонтировать нужный раздел командой mount и сделать cat /точка_монтирования/etc/fstab где точку монтирования ты выбираешь сам, когда монтируешь. Это должна быть существующая, желательно пустая директория. 7. Надеюсь, как монтировать и размонтировать после использования файловые системы ты знаешь? Если нет, то наверное тебе стоило бы почитать какие-нибудь книги по GNU/Linux или UNIX прежде, чем начинать работу, так как очень желательно понимать, что ты делаешь.

Конкретно по Slackware есть Slackbook, его можно найти на установочном диске, на официальном зеркале, на сайте http://slackbook.org/ или, наконец, в русском переводе http://jack.kiev.ua/docs/slackbook/

Только следует учесть, что книга устарела на 10 лет, так что советы по конфигурации иксов, в частности, принимать во внимание не следует.

8. Ну и про swap — если раздел свопа не работает, не обязательно было создавать другой, достаточно выполнить команду mkswap /dev/sdaY (учитывай что это удалит все данные с раздела /dev/sdaY, если они там были и не делай ошибки в этой команде)

Xenius ★★★★★
()
Последнее исправление: Xenius (всего исправлений: 2)
Ответ на: комментарий от Xenius

Спасибо за обстоятельный ответ! Сейчас буду экспериментировать.

Надеюсь ты знаешь, как называется раздел, куда у тебя установлена Slackware?

Да, конечно. Корневой раздел у меня на /dev/sda9.

Надеюсь, как монтировать и размонтировать после использования файловые системы ты знаешь?

Вроде бы да. Монтируем командой mount /что_монтируем /mnt/куда_монтируем, размонтируем потом umount /mnt/точка_монтирования, список смонтированных разделов выводится просто как mount.

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

Ну значит у тебя нет такого симлинка, пиши /boot/vmlinuz-huge и жми таб, должна ещё версия ядра дописаться через дефис. Потом сделаешь командой ln, если хочешь.

Или у тебя всё-таки другой раздел, а не 9.

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

После TAB дополнилась версия ядра и после boot загрузилась Slackware.

Замечательно. Ты хочешь lilo или grub? Если lilo, то редактируй /etc/lilo.conf и прописывай параметры для загрузки других ОС и не забудь после этого и каждого изменения конфига выполнить команду lilo, чтобы установить его. Можешь по образцу, опции можешь посмотреть в сгенерированном конфиге grub, но большая из них лишние. Только root=... обязательно.

Xenius ★★★★★
()
Последнее исправление: Xenius (всего исправлений: 2)
Ответ на: комментарий от Xenius

Я не знаю принципиальных различий между LILO и grub, поэтому хочу то, что будет легче реализовать. Так как сейчас на компьютере работает grub (LILO был удален и в последствии переустанавливал Slackware без него), то, наверное, лучше настраивать grub.
Вывод cat /etc/fstab в Slackware
Пробовал вставить в тег code содержание файла /boot/grub2/grub.cfg (из Fedora), но ЛОР пишет, что слишком большое сообщение, не знаю, как это обойти. Могу выложить скриншотами всё, если требуется.

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

Или легче с lilo? Если да, как и куда его поставить?

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

Я не знаю принципиальных различий между LILO и grub, поэтому хочу то, что будет легче реализовать.

А что тебе мешает взять скажем и почитать мануалы по обоим? Или ввести в поисковик «сравнение lilo и grub»?

Если кратко, то GRUB — это почти целая ОС со своим ядром и модулями, позволяющая загружать (почти) что угодно откуда угодно, а lilo ближе к принципу KISS — минимальный код, который по карте блоков загружает то, что ему задано. GRUB лучше тем что там есть консоль, и всегда можно загрузить нужную ОС вручную из консоли, а вот lilo загрузит только то что в конфиге, так что если запорешь конфиг, придётся загружаться с внешнего носителя и исправлять. С другой стороны разобраться с тем как настроить lilo должно быть проще.

Как и куда ставить lilo тебе уже несколько раз рассказывали... Просто ставишь пакет lilo, если ещё не стоит, правишь конфиг /etc/lilo.conf и командой lilo ставишь или обновляешь. В отличии от grub lilo свой конфиг читает только при установке, а не каждый раз при загрузке.

Xenius ★★★★★
()
Последнее исправление: Xenius (всего исправлений: 1)
Ответ на: комментарий от Xenius

Заменил в конфиге grub2 generic-ядро на huge, с ним грузится нормально. Прочитал, что для загрузки с generic-ядра необходимо создать образ initrd.gz. Завтра попробую это сделать.

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