LINUX.ORG.RU

Gentoo: ядро не стартуется.


0

1

Приветсвую всех.

Установил Gentoo из под Ubuntu LiveCD
используя этот метод: http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1
и метод установки системы из под другой операционной системы: http://www.gentoo.org/doc/en/altinstall.xml.
Установка прошла гладко, не было косяков на взгляд. Но ядро все же не запустилось.
Для установки использовал ручную установку ядра kernel-2.6.38-r6. Так как установка genkernel, по очень странным причинам не выполняла установку модулей. Initram*.. просто отсуствовал в папке /boot. Я так-же как вариант брал из самого minimalcd загруженного config.gz и скидывал в саму установке genkernel all. Увы и тогда модули не ставились вообще. Вобщем решил все таки вплотную ставить вручную, для гибкости.

Вобщем. Я запустил компьютер, как увидел на клавиатуре что клавиатура внятно стала мигать, а загрузка напрочь встала.
---------------------------------------------------------------------------------------------
Собственно вот:::::::::

Input: AT Translated .. Set keyboard as /devices/...
Input ImPS/2 Generic Wheel Mouse as /devices/platform
md: Waiting for all devices to be available before autodetected.
md: Autodetecting RAID arrays.
md: Scanned 0 and added 0 devices.
md: autorun ...
md: ... autorun DONE.
BOOT-NFS: no NFS server addres .. trying floppy.
VFS: Unable to mount root device «sda6» or unknown-block(2,0)
Please append a correct «root = » boot option: here are the available partitions:
Kernel-Panic - not syncing VFS: Unable to mount
PId: 1: comm: wrapper Not tainted 2.6.38-gentoo-r6 #2
Call Trace:
[<c13550ff>] ? panic+0x4d/0x130
[<c14a8bf5>] ? mount_block_root+0x161/0x175
[<c10031b7>] ? sys_mknod+0x13/0x17
[<c14a8c9f>] ? mount_root+0x96/0x9d
[<c14a8de8>] ? prepare_namespace+0x142/0x172
[<c14a8397>] ? kernel_inid+0x177/0x182
[<c14a8220>] ? kernel_init+0x8/0x182
[<c10033b6>] ? kernel_...._helper+0x6/..
---------------------------------------------------------------------------------------------
Мои попытки(пытки):

1. Я предположил что, что-то в grub.conf настроено не так.
Но увы, настроено как по книге. Даж, копировать-вставить-поправить.

2. Я предположил что что-то не так в /etc/fstab.
Но так-же как по книге.

3. Я преположил, что ядро не было настроено верно.
Но я ставил в точности как по книге, не считая ppp.
Я добавил так-же помимо элементов из книги в ядро (make menuconfig - kernel setup) - Network Device Support (PPP) почти весь и usb support > USB Morem SDMA.
Так-же стаивил vwdial и ppp собственно.
Чтобы иметь интрернет после. (Skylink)
А так-же memtest в отделе (makemenuconfig - kernel - processors... ).

4. Я так-же подумал, что возможно ставить в расширенный раздел систему не стоило. Но я не уверен, так ли это.

5. Я так-же пытался ставить из Minimalcd, но увы. Интернет ppp, чтобы его взять при работе minimalcd нужен хитрый танец и посвящение в него. Которого пока не нашел.

6. Как я уже говорил, что делал по книге. Старые элементы вроде, требующие добавки в kernel я тоже просмотрел, что все правильно. Это поддержка ext4, т.п.

Если конф важен то вот:
Amd Athlon 2400+
1.25GB ram
Nvidia Videocart 7300GT
160HDD SATA (sda )

Добавляю:
Я так-же обратил внимание, что в действительности при помощи uname -m, определил что именно должна быть i686, так и stage был выбран соотвествующий. Но в книге четко указано так: (Handbook>en):

после установки ядра и модулей
cp arch/i386/boot/bzImage /boot/kernel-2.6.34-gentoo-r1

Хотя в /arch нет i686. А x86 нет файла bzImage. Я сделал как указано в книге.
-------------------------------------------------------------------------------------------
Какие у вас идеи, друзья. Как лечить такое? Как запустить систему, как заставить работать ядро.

ЗАРАНЕЕ СПАСИБО ВАМ, И ЗА ВАШЕ ВНИМАНИЕ. :))))


Ответ на: было от lofre

> Ну дык я исправил.
menu.lst, fstab в студию.

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

Вывод на команду: fdisk -l /dev/sda

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa8a8a8a8

Device Boot Start End Blocks Id System
/dev/sda1 * 63 7197119 3598528+ 83 Linux
/dev/sda2 7197120 226564694 109683787+ 5 Extended
/dev/sda5 7197183 14394239 3598528+ 82 Linux swap / Solaris
/dev/sda6 14394303 56580929 21093313+ 83 Linux
/dev/sda7 56580993 226564694 84991851 83 Linux

-
/dev/sda1 /boot
/dev/sda5 SWAP
/dev/sda6 > /
/dev/sda7 > /home

------------
menu.lst я уже скинул сюда. :))

-------------------------------------
и parted /dev/sda print


Model: ATA WDC WD1600AAJB-0 (scsi)
Disk /dev/sda: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 32.3kB 3685MB 3685MB primary ext4 boot
2 3685MB 116GB 112GB extended
5 3685MB 7370MB 3685MB logical linux-swap(v1)
6 7370MB 29.0GB 21.6GB logical ext4
7 29.0GB 116GB 87.0GB logical ext4

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

Киньте куда-нибудь (на pastebin, например) ваш .config и запостите сюда ссылку. Еще добавьте вывод команды lspci

Попробую посмотреть на своей системе, чтоб время зря не тратить.

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

>zcat /proc/config.gz > .config

Не нужно, оно само берёт конфиг. Кстати, из /boot/config-$VERSION, потому что это стандарт.

Я так и не понял, зачем этот велосипед, если есть готовый. И лучший.

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

Хм. А можно еще вывод 'fdisk -l' посмотреть? У вас вообще сколько дисковых устройств в компе сейчас? Флешки какие-нибудь воткнутые есть? Вы же из под ubuntu все команды выполняете? Ведь гента у вас совсем не грузится. Имена дисков могут оказаться другими.

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

Пожалуй, стоит попробовать начать именно с этого. Переведите вашу систему на работу с uuid вместо обычных имен разделов вида sdxy.

Для этого вам необходимо узнать uuid всех задействованных разделов. Делается это командой blkid. Затем необходимо будет внести изменения в /etc/fstab, вписав вместо /dev/sda5 нечто вроде UUID=7d6b2e55-351e-4119-8a73-3a06a02062cf и так же для всех разделов. В menu.lst же строка загрузки будет выглядеть примерно так:

kernel /boot/kernel-2.6.38-gentoo-r6 root=UUID=7d6b2e55-351e-4119-8a73-3a06a02062cf

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

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

> И лучший.
тем что придётся его допиливать?
лучше так:
if [ ! -e /boot/bzImage ]; then
mount /boot
fi

Не нужно, оно само берёт конфиг.

Не знал, что oldconfig это делает.

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

>тем что придётся его допиливать?

Да зачем его допиливать? Он хорош тем, что:

1. Автоматически устанавливает ядра и конфиги с указанием версии в имени файла.

2. Можно расширить для обеспечения дополнительной функциональности. Например, чтобы автоматически обновлять симлинк /vmlinuz и удалять старые ядра. Симлинка /vmlinuz достаточно, чтобы не переписывать меню граба, а цель всяких извратов с перезаписыванием файлов мне непонятна (становится неочевидной версия и трудной загрузка старого ядра).

3. Он всё-таки стандартные имена использует, а не всякие левые /boot/supermegalinuxkernelgzipped-58. Другие пакеты (не ядро) ты же всё-таки по FHS-путям ставишь, а не в /usr/supermegapackagecoreutils, и не переименовываешь при этом ls в listfilesplease.

Не знал, что oldconfig это делает.

Он берёт старый конфиг, если нет .config, но, ЕМНИП, только из /boot/config-`uname -r`, а /proc/config.gz не трогает. Что ещё раз подтверждает, что /boot/config-$VERSION — это стандарт.

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

> Да зачем его допиливать?
Чтобы в /boot было только ядро. +Экономия памяти, архив с ядром и initramfs весит ~2.8, а фигня предлагаемая по make install over 6MiB(мой текущий du -sh /boot).

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

Чтобы в /boot было только ядро.

Чем мешают остальные файлы?

+Экономия памяти, архив с ядром и initramfs весит ~2.8, а фигня предлагаемая по make install over 6MiB(мой текущий du -sh /boot).

6 MiB — это же так много, у тебя, наверное, винчестер всего на 128.

max@laptop /boot $ fs
0	.keep
64K	config-2.6.37-gentoo-r6-01
76K	config-2.6.37-gentoo-r6-00
76K	config-2.6.37-gentoo-r6-02
76K	config-2.6.37-gentoo-r6-02-cpufreqtest
76K	config-2.6.37-gentoo-r6-03
1,2M	System.map-2.6.37-gentoo-r6-00
1,2M	System.map-2.6.37-gentoo-r6-02
1,2M	System.map-2.6.37-gentoo-r6-02-cpufreqtest
1,2M	System.map-2.6.37-gentoo-r6-03
1,3M	System.map-2.6.37-gentoo-r6-01
2,7M	vmlinuz-2.6.37-gentoo-r6-02
2,7M	vmlinuz-2.6.37-gentoo-r6-02-cpufreqtest
2,7M	vmlinuz-2.6.37-gentoo-r6-03
2,8M	vmlinuz-2.6.37-gentoo-r6-00
3,1M	vmlinuz-2.6.37-gentoo-r6-01
20M	итого

Конфиги не весят, ядра около 3 MiB, а ненужный System.map весит меньше 1.5 MiB. Ты же сказал, что System.map весит 3.2 MiB (6-2.8), а так много не бывает.

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

Но boot 10MiB. Если я добавлю 3ий архив, то с моим вариантом отсанется 1MiB, а со всякими System.Map и прочими уйду в минус.

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

Ты так и не рассказал, почему вдруг System.map стал весить 3.2 MiB. Значит, 6 MiB — это преувеличение. А 10 MiB на /boot — ССЗБ. И да, зачем отдельный раздел? Что за загрузчик?

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

>Рекомендую использовать обычный способ установки.
зачем? я дважды ставил генту из мандривы и все ок.

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

> Ты так и не рассказал, почему вдруг System.map стал весить 3.2 MiB.
Хорошо 1.6. 1.6*3 = 3.9, а это больше чем ядро с initramfs.

А 10 MiB на /boot — ССЗБ.

Меня устраивает.

И да, зачем отдельный раздел? Что за загрузчик?

Всё кроме boot зашифровано. grub

И да мой mkernel.sh делает всё ****** одной командой(/root/mkernel.sh).

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

http://pastebin.ru/320078

вывод файла: .config

lspci < нет такого, в emerge так-же нет.


вывод команды: fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa8a8a8a8

Device Boot Start End Blocks Id System
/dev/sda1 * 63 7197119 3598528+ 83 Linux
/dev/sda2 7197120 226564694 109683787+ 5 Extended
/dev/sda5 7197183 14394239 3598528+ 82 Linux swap / Solaris
/dev/sda6 14394303 56580929 21093313+ 83 Linux
/dev/sda7 56580993 226564694 84991851 83 Linux

Disk /dev/sdb: 4009 MB, 4009754624 bytes
124 heads, 62 sectors/track, 1018 cylinders, total 7831552 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00049a52

Device Boot Start End Blocks Id System
/dev/sdb1 * 62 7826383 3913161 c W95 FAT32 (LBA)
Из дисков HDD и USB HDD: один хард и одна флешка.
Флешка не вытыкается, так и стоит. (sdb)

--------------
Мои попытки:

Я все же смог поставить genkernel. (автомат), появился к нему initram* и прописал в grub.conf. Собственно он вот запускается.
Я попробовал взять config.gz и припихать в /usr/src/linux/.config. При запуске menuconfig открыл его и сохранил. Перекомпилировал нормальное gentoo ядро (не gen) = результат также нулевой.
--------------------------------------------------------------------------------

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

#ответ

Да.
sda1 в boot
Новое ядро там.

хм. все же удивляет сильно что genkernel пашет, но kernel-gentoo ни вкакую. :(((

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

Вопрос

У меня вопрос говорилось что в /boot должен быть помимо файла ~kernel-2.6.38-gentoo-r6 и файла System.map, еще и файл конфигурации в корне /boot. Но его нет. :(
Ха, хотя и файл system.map адресовывается только в сторону genkernel. Хотя как я понял это ненужный файл.

lofre
() автор топика
Ответ на: Вопрос от lofre

System.map и config файлы не влияют на работу ядра. То есть в вашем случае не помогут. Хотя иногда бывают полезны. Ядро при загрузке пишет что-нибудь про sda? Если не успеваете просмотреть, попробуйте добавить параметр «rootdelay=120» в параметры ядра (через груб).

mky 👍👍
()
Ответ на: Вопрос от lofre

Пробовали поменять метки разделов на uuid? kernel panic все тот же? System.map и другой мусор вот уже несколько лет никому не нужны. А вы уверены, что в .config, взятом после genkernel, отключили initramfs? Может вам initrd нужно скопировать в /boot? Конфиг уже только вечером смогу посмотреть, к сожалению.

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

да, попробовал, но увы :(

да я поменял вот так:

/dev/UUID=ccd0eb81-0f3c-4b30-a4c4-7e84e7a1540b /boot ext4 defaults.noauto,noatime 1 2
(все другие так-же)

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

> накатал небольшой скрипт, который запускает make menuconfig / make / make modules_install , после чего bzImage
Oh, you, это же неполный список мейков?

Deleted
()
Ответ на: да, попробовал, но увы :( от lofre
UUID=ccd0eb81-0f3c-4b30-a4c4-7e84e7a1540b /boot ext4 defaults.noauto,noatime 1 2

будет правильнее. Но, раз ошибка не ушла, причина в чем-то другом.

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

Полезная, в общем-то команда, если у вас уже есть .config от предыдущей версии ядра и вы хотите настроить только вновь появившиеся опции. Конфигурирование пройдет в текстовом режиме (как у make config), но заданы будут только вопросы по опциям, которых нет в .config

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

> e2fsck -Df /dev/sd...?

И покажите свои {C,LD}FLAGS... Было похожее, когда ставил i686 на 586-ую архитектуру... Может быть в этом дело.

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

> И да, зачем отдельный раздел?
Помогает от кривых рук. /boot потом можно прописать в fstab, но отключить автомонтирование при загрузке (noauto). Если руки не додумаются подмонтировать /boot, чтоб положить туда своё криворукое обновлённое ведро, оно останется лежать в корневой подпапке, а система продолжит грузиться с /boot на отдельном разделе.

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

Ну, во-первых, `make clean` в самом начале, потому что если мы рекомпилим одну и ту же ревизию ядра, компиляция пройдёт подозрительно быстро, скорее всего проигнорировав ваши настройки.
Во-вторых для того, чтоб скомпилить модули нужно вызвать `make modules`, а у тебя они инсталлируются из ничего.

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

>Если руки не додумаются подмонтировать /boot, чтоб положить туда своё криворукое обновлённое ведро, оно останется лежать в корневой подпапке, а система продолжит грузиться с /boot на отдельном разделе.

И зачем это надо? Если я уже собираю ядро, то знаю, что делаю, и хочу грузиться с него. Пусть уже монтируется автоматом. Если делать make install, то старое останется, и если что, можно будет загрузиться.

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

Обновляет конфиг ядра.(предлагает включить фичи появившиеся в новых версиях ядра)

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

>`make clean` в самом начале

нужно далеко не всегда, но на всякий в костыле есть параметр -С

для того, чтоб скомпилить модули нужно вызвать `make modules`


модули компиляются вместе с ядром через make.

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

новые симптомы

Read-only file system

а вот это при работе с genkernel.
(когда пытаюсь записать любой файл, на любом разделе)

bachbone


uname -m (i686) внутри системы
Ядро брал (i386)

Но сказали, что это не страшно.

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

Хм. Не знал что такое есть... Раньше просто пихал старый конфиг и make -j4..

Tanger
()
Ответ на: новые симптомы от lofre

Для начала: все опции из раздела Device Drivers->Serial ATA and Parallel ATA drivers, которые у вас установлены в <M>, меняете на <*>. И сам раздел тоже не забудьте отметить как <*>

А потом обновите лог загрузки. Если там что-то изменилось с ваших первых попыток.

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

Во-вторых, опцию CONFIG_BLK_DEV_INITRD ставите в <>. Зачем вам initrd, если вы сами будете ядро конфигурировать? Я, например, даже не помню уже за давностью лет, как этот initrd делать и устанавливать в /boot...

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

вопросик

Обновить лог загрузки?
Ээ, всмысле обновить grub?

Команду пожалуйста подскажите для сея?
~emerge *** ???

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

спасибо за рецепт, лечим...

Спасибо, смотрю, пробую, делаю.
..позже отпишусь...

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

разумеется :)

Make clean не применял.
Make modules само собой применял. :)) , это делаю одной командой со связкой ввиде " && "

lofre
() автор топика
Ответ на: вопросик от lofre

---------------------------------------------------------------------------------------------
Собственно вот:::::::::

Input: AT Translated .. Set keyboard as /devices/...
Input ImPS/2 Generic Wheel Mouse as /devices/platform
md: Waiting for all devices to be available before autodetected.
md: Autodetecting RAID arrays.
md: Scanned 0 and added 0 devices.
md: autorun ...
md: ... autorun DONE.
BOOT-NFS: no NFS server addres .. trying floppy.
VFS: Unable to mount root device «sda6» or unknown-block(2,0)
Please append a correct «root = » boot option: here are the available partitions:
Kernel-Panic - not syncing VFS: Unable to mount
PId: 1: comm: wrapper Not tainted 2.6.38-gentoo-r6 #2
Call Trace:
[<c13550ff>] ? panic+0x4d/0x130
[<c14a8bf5>] ? mount_block_root+0x161/0x175
[<c10031b7>] ? sys_mknod+0x13/0x17
[<c14a8c9f>] ? mount_root+0x96/0x9d
[<c14a8de8>] ? prepare_namespace+0x142/0x172
[<c14a8397>] ? kernel_inid+0x177/0x182
[<c14a8220>] ? kernel_init+0x8/0x182
[<c10033b6>] ? kernel_...._helper+0x6/..
---------------------------------------------------------------------------------------------

Примерно так же, только с новым конфигом ядра.

Но, судя по всему, должно сейчас загрузиться после включения опций для поддержки SATA в ядре. SCSI, кстати, скорее всего и не нужно вовсе, но пока отключать не стоит. У самого тоже все для SCSI включено и жить не мешает. Когда-то давно SATA требовало, чтоб SCSI было включено. Сейчас вроде уже нет зависимости.

delete83
()

Добавлю еще от себя, что handbook, по которому вы пытаетесь установить gento, несколько устарел. Местами устарел настолько, что следовать ему даже вредно. Хотя в целом он все еще позволяет установить систему и дает универсальные инструменты для решения возникающих проблем.

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

Разве старый

я использовал English версию Handbook от 2010 года.
Разве от старый. Если да, запомню его как «не очень приятный удар по голове на 2 недели»

lofre
() автор топика
Ответ на: Разве старый от lofre

Ох, приношу свои извинения. Конечно же имелся в виду gentoo-wiki.com. Особенно в части русификации и вообще в целом по русификации и установке всего, что идет после X.org

Handbook по-русски тоже не ахти. Сам обычно использую wiki.archlinux.org. Там сообщество более активное что ли... Но ответов там я нахожу больше - факт.

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

[РЕШЕНО]

Большие благодарности тебе, delete83. Бомогло!!! УРА! Радуюсь, смотрю в монитор с живой Gentoo. Благодаря тебе, друг. Спасибо так-же другим товарисчам кто активно помогал в решении данной проблемы.

Подробности:

И так я снес gentoo, и начал ставить по другому. sda3 - root, sda2 - swap, sda1 - boot. Ставил теперь не из под Ubuntu(i368) а из под Fedora(i686). Применил советы, особенные последние с изменениями настроек в menuconfig и добавления SATA в ядро, SCSI оставил модулем. Скомпилировал. Поставил крайне минимальный софт. Grub федоряшный. Теперь держу вместе две оськи. Ну правда еще ставил «сырцы» для ядра. Проверил нет ли read-only на файлы. В итоге нету.

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