LINUX.ORG.RU

Gentoo не запускается


0

0

товарищи,делал все по хенд буку. разбил диски. примонтировал. слил туда stage 3. поустанавливал кучу билиберды. собрал через genkernel ядро. поставил GRUB - в нем использовал два пункта. default 0 timeout 30 splashimage=(hd0,7)/boot/grub/splash.xpm.gz

title Gentoo Linux 2.6.34-r1 root (hd0,7) kernel /boot/kernel-genkernel-x86_64-2.6.37-gentoo-r4 real_root=/dev/sda8 initrd /boot/initramfs-genkernel-x86_64-2.6.37-gentoo-r4

# Only in case you want to dual-boot title Winsdox rootnoverify (hd0,0) makeactive chainloader +1 //// такое ощущение,что чтото напутал, или ядро собралось криво. в общем после перезагрузки пишет GRUB 1.5 далее стрелками выбрал gentoo и в результате выдало чтото про GPU и еще 0x000034\подобие этого. помогите. скажите,где я ошибся?(и предугадывая коменты - явно не в ОС я ошибся\разобраться хочется:)

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

Уже сил нету..

Доброго всем дня, сразу извиняюсь за вопрос, который собираюсь задать вам. Я в мире линукс человек новый, и поэтому не знаю куда еще обратиться как не сюда. Вот решил поставить себе на компьютер gentoo. до этого имел дело только с ubuntu, alt linux и МСВС, а тут захотелось чего нибудь нового. Так вот в чем у меня проблема: скачал дистрибутив gentoo с офсайта. Ноутбук с процессором AMD Turion 64 x2 TL-60, поэтому выбрал stage3 и portage с архитектурой amd64.делал все по настольной книге. Когда дошел до компиляции ядра, решил воспользоваться genkernelom, но здесь мои радости закончились, ядро собралось а вот на сборке модулей ноут завис, даже не знаю в чем может быть проблема. Может быть здесь кто нибудь знающий подскажет куда мне обратиться или может мне выложить какой нибудь конфиг(проблема была только с make.conf). Прошу еще раз прощения и прошу помощи.... (Устанавливать пытался уже 4 раза, один раз X86 архитектуру-так там даже сборка ядра не начиналась и писала что то про версию ядра)

energyclab
()
Ответ на: Уже сил нету.. от energyclab

никогда не пользуйтесь genkernel

эта фича создает много проблем

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

эээ. я со знакомыми разговаривал, они посоветовали первый раз собрать с помощью genkernel, вот я и не стал сам его ручками собирать. Ну Бог с ним, тогда вопрос по конкретнее: правильно ли я понимаю что для моей архитектуры с процессором от AMD я правильно выбрал stage3 и дерево portage из каталога amd64( с офсайта ), а в make.conf указал флаг -march = «k8», и еще MAKEOPTS="-j3" ? А вообще не очень хотелось бы ставить 64 битную систему, лучше бы 32( как я понимаю мне нужна архитектура x86( или вообще надо взять X86_64, которой нет на оффсайте?)), но с ней даже начинать компилиться не хочет...

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

или вообще надо взять X86_64, которой нет на оффсайте?

4.2. Она есть. amd64 и x86_64 - это 2 названия одной и той же 64-битной архитектуры. Если процессор её поддерживает, то он поддерживает и i386 (или x86, что то же самое).

в make.conf указал флаг -march = «k8», и еще MAKEOPTS="-j3"

make.conf никак не влияет на сборку ядра (руками точно; genkernel не пробовал, не уверен).

не стал сам его ручками собирать

Ручками - это make menuconfig. Если взять конфиг из /etc/kernels на liveCD, то вручную не надо его конфигурировать. Поэтому:

cp /etc/kernels/* /mnt/gentoo/usr/src/linux/.config
chroot /mnt/gentoo
cd /usr/src/linux
make -j2
make install modules_install
gentoo_root ★★★★★
()
Ответ на: Уже сил нету.. от energyclab

Ну так в jabber надо.
Gentoo требует :
английский
знание железа

(ах да, терпение)

Вот с первым у меня нормально, второе — не фанат.

Так dmesg что пишет?

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

да с МСВС я имею дело, я работаю с ней, пишу софт на с++ на работе, ось дерьмо еще то. А так как я именно программист а не системщик, то знаний в *nix системах много не имею, только сейчас начинаю осваивать это направление...Вот и попросил помощи...

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

за помощь спасибо, сейчас попробую конфиг от livecd, о результатах сразу отпишусь, только вопрос, почему вводится команда make -j2, если во флаге MAKEOPTS указан -j3, а на офсайте вообще сказано что компилить надо так: make && make modules_install ( то есть компиляция ядра без параметра -j2, а компиляция модулей так как вы и посоветовали )

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

dmesg сделаю как попробую скомпилить ядро и выложу его результат

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

так а в итоге, если мне нужна 32 битная ось, я тогда могу скачать stage b portage из директории x86? Ведь так? тогда как надо забить CFLAGS и CHOST ? в CHOST при выборе x86 уже стоит i686...

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

и еще вопрос, когда я размечаю диски через fdisk, у меня уже есть 3 раздела, который под windows отведены(sda1-sda3), таким образом можно создать еще только один - sda4, я его создаю как расширенный на все оставшееся место. теперь на на него вешаю еще 3 логических раздела: sda5 - на 32 метра и помечаю его как boot раздел, sda6 - swap, sda7 - корень gentoo, после сохраняю схему, а далее выставляю ФС: sda5 - ext2, sda6 - swap, sda7 - ext3, вопрос, надо ли на расширенный sda4 ставить ФС, я так понимаю что не надо...

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

>почему вводится команда make -j2, если во флаге MAKEOPTS указан -j3

-j - это флаг, задающий, во сколько потоков будет проходить компиляция. $MAKEOPTS передаются make'у только при сборке ебилдов. Т.к. при сборке ядра make вызывается вручную, то ему же вручную надо передать и параметр -j. Число рекомендуется сделать равным числу ядер процессора или на 1 больше. Если не передавать этот параметр, то по умолчанию будет -j1.

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

>я тогда могу скачать stage b portage из директории x86?

Да.

как надо забить CFLAGS и CHOST ?

CHOST оставить, как было, CFLAGS - по вкусу, но в общем рекомендуется "-O2 -pipe" и далее в зависимости от процессора -march=* и всякие -mmmx, если есть. А чтобы сменить CHOST, надо будет пересобирать тулчейн, а потом мир (http://www.gentoo.org/doc/en/change-chost.xml).

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

>надо ли на расширенный sda4 ставить ФС, я так понимаю что не надо...

Если на расширенном разделе создать файловую систему, то исчезнут логические диски (>=sda5). Расширенный раздел содержит в себе логические диски.

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

народ,я попробовал собрать ядро,используя .config из /etc/kernels результат таков же. как и раньше не грузиться. P.S. не использовал genkernel

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

вот теперь я в ауте. При загрузке gentoo уже из под grub у меня kernel panic:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0) Pid: 1, comm: swapper Not tainted 2.6.37-gentoo-r4 #1 Call Trace: здесь какая то трассировачная информация.. и больше ничего нету

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

да или модуль для корневой фс сделан модулем а не вкомпилен в ядро… или еще куча подобных ошибок.

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

эээ значит у меня такая разбивка:

sda1 - windows..., помечен как загрузочный
sda2 - windows...
sda3 - windows...
sda4 - extended
sda5 - 32Mb Linux, помечен как загрузочный
sda6 - 512Mb Linux swap / Solaris
sda7 - окола 15Gb Linux

а вот мой конфиг граба с последней моей модификацией:

# This is a sample grub.conf for use with Genkernel, per the Gentoo handbook
# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=10#doc_chap2
# If you are not using Genkernel and you need help creating this file, you
# should consult the handbook. Alternatively, consult the grub.conf.sample that
# is included with the Grub documentation.

default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux 2.6.37-r5
root (hd0,4)
kernel /boot/gentoo.2.6.37 root=/dev/sda7
#initrd /boot/initramfs-genkernel-x86-2.6.24-gentoo-r5

title=Windows 7
rootnoverify (hd0,0)
makeactive
chainloader +1
# vim:ft=conf:

gentoo.2.6.37 - это bzImage который я переименовал после того как поместил его в /boot/
может я что не так сделал?

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

и да, все у меня один жесткий, никаких рейд массивов нет

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

>При загрузке gentoo уже из под grub у меня kernel panic:

Возможно, модули для винчестера не собраны в ядро. Тогда надо:

* изменить конфиг, чтобы они были в ядре;

* скопировать initrd из liveCD и использовать его;

* или заюзать genkernel с этим же конфигом (тогда он сделает initrd, как в liveCD).

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

в смысле hda(0,5) где это вообще надо писать?, я так понимаю что так как у меня всего один хард, то тогда hd0, а так как boot это устройство /dev/sda5 то тогда (hd0,4), сама же система на sda7. А потом что значит hda(0,5), причем здесь *а(*? а потом 5 это же по сути 6-е устройство, то есть это swap..или я опять что то не так понимаю????

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

>http://imageshack.us/photo/my-images/859/img20110507143138.jpg/

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

Кстати, может быть, это то же, что и http://www.linux.org.ru/forum/linux-install/6234031/page1?lastmod=13049475644...

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

>Возможно, модули для винчестера не собраны в ядро. Тогда надо:...

ээ, я уже не много запутался в конфигах...можн ли поподробнее по поводу первых двух пунктов?

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

>можн ли поподробнее по поводу первых двух пунктов?

Там надо сделать что-то одно из трёх. Второй способ - кривой. Для первого надо иметь хотя бы самые минимальные знания о конфигурировании ядра (надо поставить 1-2 галочки: собрать в ядро модуль нужного винчестера и нужной файловой системы). Советую всё-таки третий - запустить genkernel, но не с дефолтным конфигом, а от liveCD.

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

у меня кофиг от Livecd как здесь посоветовали, при сборке genkernelom он виснет на компиляции модулей, так что наверное мне ближе первый способ, а так панимаю в меню (после ввода make menuconfig) надо поставить галочки в соответствии с моим хардом? потом пересобрать ядро и заново попробовать запуститься? тогда как мне понять какие галочки и где ставить?

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

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

Изучить вывод lspci на предмет контроллера IDE или SATA. Погуглить по названию контроллера. Если SATA - то /Device Drivers/SCSI Device Support/SCSI disk support и /Device Drivers/Serial ATA and Parallel ATA drivers/AHCI SATA support. Если что-то не работает, можно в последнем меню попробовать по очереди или сразу всё, что там есть. Также надо в /File Systems выбрать ту файловую систему, которая на корневом разделе.

виснет на компиляции модулей

Почему вы думаете, что он виснет? Может, он их просто долго собирает. Процессор должен быть нагружен на 100%. Возможно, стоит просто подождать, потому что в ядре с liveCD модулей на ~40 МиБ, а ядро на ~10 МиБ (несжатое), поэтому модули для него будут дольше собираться, чем само ядро.

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

Изучить вывод lspci на предмет контроллера IDE или SATA.

Спасибо за совет, я понял что от меня требуется. вечером еще раз попробую.

Почему вы думаете, что он виснет?

Потому что ноут ни на что не отвечает, не пускает в другой терминал, просто висит на строчке со сборкой модулей, а потом я ждал около 2 часов, а может и больше...результат тот же... А вообще мне не очень нравится тот вариант что я собираю amd64 а не x86. При сборке ядра на x86 он пишет что то там не соответствует версии ядра... типа собираю 32 битную в обход 64... Не смог справить эту ситуацию и поэтому страдаю сборкой amd64, хотя я очень ее не хочу

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

>amd64 а не x86

Не уверен, что заведётся 64-битное ядро, если система 32-битная. А если и заведётся, то проблем не избежать.

При сборке ядра на x86 он пишет что то там не соответствует версии ядра...

А поточнее? Хотелось бы увидеть сообщение ошибки.

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

вообщем я пересобрал ядро еще раз. теперь у меня при загрузке оси другой кернел паник. Kernel panic: no init found. Try passing init= option to kernel Погуглив я понял только то что ядро не может запустить процесс init так как не может его найти..то есть не может примантировать разделы. тогда получается я не так fstab отконфигурил... может ли кто нибудь пояснить в чем дело? и если не жалко, выложите пожалуйста рабочий fstab, буду премного благодарен...

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

>выложите пожалуйста рабочий fstab

Он разный на разных системах, потому что у всех нас разные разделы на диске. Если я выложу свой рабочий fstab, то он не поможет абсолютно никому.

не может запустить процесс init так как не может его найти..то есть не может примантировать разделы.

Если бы ядро не примонтировало корневую файловую систему, то был бы другой panic. Тут оно примонтировало rootfs, но не запустило init, т.к. не нашло его (указан неверно корневой раздел в командной строке ядра) или нашло, но не смогло запустить (вы, вроде, говорили, что собираете 64-битное ядро, но система 32-битная; возможно, причина в этом (32-битный init), хотя я точно не уверен, т.к. с 64-битными системами практически не работал). Советую убедиться, что ядру передаётся правильный параметр root=, соответствующий файлу устройства с корневой ФС. Если же он точно правильный, то придётся таки собирать 32-битное ядро и разбираться с той проблемой, которая возникала с ним (тогда покажите лог сборки 32-битного ядра, чтобы понять, в чём проблема). Как я уже говорил:

Не уверен, что заведётся 64-битное ядро, если система 32-битная. А если и заведётся, то проблем не избежать.

Но fstab тут точно не при чём, т.к. обычно читается командой 'mount -a' в загрузочном скрипте, запущенном init'ом, а тут даже init не запустился.

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

вы, вроде, говорили, что собираете 64-битное ядро, но система 32-битная


Вы меня не правильно поняли, понятно что 64 битная система не запустится на 32 битной архитектуре. моя система 64-битная, процессор AMD Turion 64 x2 TL-60(т.е. архитектура x86_64 в терминологии intel). Я просто не хочу вообще 64 битную систему, хочу 32, но на 32-битной сборка не начинается, поэтому собираю образ gentoo amd64(он же х86_64, x86 не хочет начинать компилить ядро)

Советую убедиться, что ядру передаётся правильный параметр root=, соответствующий файлу устройства с корневой ФС


Я так понимаю это параметр, указанный в конфиге граба ? там был root = /dev/что_то_там real_root=/dev/sda7, sda7 это корень моей системы, sda5 это /boot/, sda6 - это swap. все эти разделы являются логическими для расширенного раздела /dev/sda4. Граб я поставил на /dev/sda. root в нем равен hd0,4 , тоесть там где /boot. Может ли быть проблема здесь в том что у меня разделы логические(sda5-sda7), которые находятся на расширенном(т.е extended - sda4)

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

и еще вопрос, почему когда собираешь с помощью genkernel то в грабе указывается путь к initrd, а когда руками, то этого делать не надо... что это такое вообще initrd?

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

>но на 32-битной сборка не начинается

Поконкретнее, что пишет? Выложите лог сборки куда-нибудь на http://pastebin.com/, чтобы можно было посмотреть. Без лога ничего не понятно.

sda7 это корень моей системы

Тогда надо передать ядру параметр root=/dev/sda7.

Может ли быть проблема здесь в том что у меня разделы логические

Нет, проблема не в этом. Linux можно загрузить откуда угодно. Это только в венде есть надуманные ограничения на загрузку только с 1 раздела 1 диска и т.д.

sda5 это /boot/

Возможно, вы передали ядру root=/dev/sda5, а надо root=/dev/sda7. Грабу надо root (hd0,4).

и еще вопрос, почему когда собираешь с помощью genkernel то в грабе указывается путь к initrd, а когда руками, то этого делать не надо... что это такое вообще initrd?

initrd - это RAM-диск. Если собрать ядро нормально, то без него можно обойтись, т.к. драйверы устройств, присутствующих в компьютере и критичных для загрузки (драйвер нужного жёсткого диска и драйвер файловой системы) находятся прямо в ядре. Если же собирать ядро, которое переносимо на другие компьютеры (обычно genkernel собирает такие ядра), то драйверов не будет в ядре, а они будут в модулях. Тогда для нужного компьютера создаётся initrd с нужными модулями, чтобы ядро смогло их загрузить до монтирования rootfs и с их помощью смонтировать rootfs.

там был root = /dev/что_то_там real_root=/dev/sda7

'root=/dev/ram0 real_root=/dev/sda7 init=/linuxrc' - это если используется initrd от genkernel. Иначе надо 'root=/dev/sda7'. Кстати, возможно, у вас остался 'init=/linuxrc', тогда его надо удалить, ведь с ним ядро ищет другой init и не находит (он используется при загрузке с initrd и находится на нём).

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

Поконкретнее, что пишет?


завтра начну еще раз сборку 32 битной версии, логи обязательно выложу

Тогда надо передать ядру параметр root=/dev/sda7.


у меня именно так как вы и сказали, root(hd0,4), параметр у kernel kernel.... root=/dev/sda7 больше ничего нет. граб грузится нормально, Windows из под него тоже грузится норм.

initrd - это RAM-диск

за посвященные знания спасибо.

Кстати, возможно, у вас остался 'init=/linuxrc'

Нет такого нет у меня.
Вопросы, вопросы...
1) не подскажете ли что такое rootfs?
2) в fstab было написано что по мимо указания основных разделов, надо добавить еще proc и tmp в него.. А что на счет /sys, ведь livecd и его монтирует тоже.

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

>не подскажете ли что такое rootfs?

Корневая файловая система. К ней монтируются все остальные. На ней должен лежать какой-нибудь init, чтобы ядро передало ему управление, и система загружалась. Остальное уже зависит от того, вынесены ли какие-то каталоги (например, /usr, /home, /boot) в отдельные разделы, но в абсолютном большинстве случаев там есть часть программ, необходимых для загрузки, конфиги (/etc) и др.

в fstab было написано что по мимо указания основных разделов, надо добавить еще proc и tmp в него.. А что на счет /sys, ведь livecd и его монтирует тоже.

Насчёт baselayout-1 уже не помню, как там было, но в baselayout-2 с OpenRC /proc и /sys монтируются сами, вне зависимости от наличия записей в fstab. Скорее всего, они (записи в fstab) не нужны, но если они там уже были, удалять не стоит. А ещё можно взять fstab с liveCD и посмотреть. Но если вы что-то не пропишете, а оно не смонтируется, вы всегда сможете потом это дописать.

gentoo_root ★★★★★
()

Народ. переделывал всю ночь. выручайте. уже выдает Kernel panic. пишет про root unknown fs.
прилагаю fstab в кратце.
/dev/sda8 / ext4 defaults,noatime 1 2
/dev/sda7 none swap sw 0 0
/dev/sda9 /home ext4 noatime 0 1
none /proc proc defaults 0 0
none /dev/shm tmpfs nodev,nosuid,noexec 0 0
где что не так?
в LILO - root=/dev/sda8
где я что забыл?

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

модуль уже там,только что проверил. все равно выдает эту ошибку.
+ заметил что пишет в скобках не (0,7), а (8,8).
может lilo не правильно настроил?

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

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

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

Всем доброй ночи. После n-ой сборки ядра оно наконец то запустилось,
но теперь при проверке root filesystem выдает следующее:
Failed to open the device '/dev/sda7'

Filesystem couldn't be fixed :(
Give root passward for maintenance
(or type Ctrl-D to continue):

В чем может быть проблема?
В fstab:
sda7 это /
sda5 это /boot
sda6 это swap

в grub.conf
root = (hd0,4)
kernel ...... root=sda7

где я мог ошибиться и чего не докомпилить?

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