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 ★★
()
Ответ на: новые симптомы от lofre

В /etc/fstab заменили /dev/UUID= на UUID= ? UUID'ы правильные?

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

[РЕШЕНО]

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

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

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

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