LinuxForum.Fans
Тема

Сборка ядра

Автор: tyrnov 198 сообщений 37302 просмотров
#248844

Покажите всё же, что написано в консоли в момент ошибки.

#248845

Опция аналогичная append 20 в случае с Grub'ом выглядит чуть иначе — rootdelay=20 — попробуйте добавить её в строку, начинающуюся с kernel в конфигурационном файле загрузчика.
P.S. ...или просто добавьте rootwait.

#248855

При остановке пишет: Kernel panic - not syncin: VFS: Unable to mount root fs on unknown-block(2.0)

и выше этой записи перечислены :sda1,sda2,sda3,sda4, а sdc нет.


Добавление rootwalt, ничего не меняет, а при добавлении в в строчку с kernel rootdelay=20,
сам загрузчик не хочет грузиться, ругается на эту строчку.

#248860
"amid88" написал:
Добавление rootwalt,

rootwait

#248861

Покажите конфигурационный файл загрузчика.
Какая у вас файловая система на корневом разделе?
Покажите из-под любого установленного Linux вывод команды

text

lspci -k | grep ATA -A 2
#248863

default 0
timeout 30
#splashimage=(hd0,1)/boot/grub/splash.xpm.gz
title Gentoo Linux 2.6.24-r5
root (hd0,1)
kernel /boot/kernel root=/dev/sdc2
#kernel /boot/kernel-genkernel-x86-2.6.24-gentoo-r5 root=/dev/ram0 real_root=/dev/sda3
#initrd /boot/initramfs-genkernel-x86-2.6.24-gentoo-r5

# vim:ft=conf:

система на внешнем USB диске, sdc2 -корень ext3, загрузку выбираю в BIOS , поэтому в строчке root
стоит (hd0,1), может не верно?

#248864

lspci -k | grep ATA -A 2

эта команда у меня показывает внутренний диск, а система на внешнем.

#248866
"amid88" написал:
эта команда у меня показывает внутренний диск, а система на внешнем.

...ну да, что-то я увлёкся :(

Только что проверил опцию rootdelay — работает, на ошибки не жалуется.
При загрузке, когда появится меню Grub'а, выберите строку с вашей системой, нажмите e (вы войдёте в режим редактирования), дополните строку с kernel

text

kernel /boot/kernel root=/dev/sdc2 rootdelay=20

нажмите Ctrl + x либо сначала Esc, затем b, чтобы продолжить загрузку с новыми опциями.

У вас grub на каком диске установлен?

#248867

Grub на sdc, внешний, в меню только Gentoo, других не видно, что мне и надо.

Прописал rootdelay=20, ничего не дало, все та же ошибка.

А может проблема в ядре, я при его сборке ничего не включал и не отключал, оставил все по умолчанию,
так как не смог там разобраться, в меня описание на сборку ядра 2.6, а здесь 3.2.1., и что то не соответствует моей инструкции.

#248880

Проблема решена, все оказалось просто. Когда устанавливал загрузчик на внешний USB диск, он определялся как sdc, так как флешка с SystemRescueCd была как sdb, а внутренний диск sda.
Теперь, когда флешки нет, внешний диск стал уже sdb, а в kernel /boot/kernel root=/dev/sdc2 он sdc.
Изменил sdc на sdb и все заработало.
Теперь следующий этап, что делать с ядром, я его собрал без каких либо изменений, все как было по умолчанию, как теперь его опять пересобирать, исходники его остались в /usr/src/linux , что теперь просто заходить в каталог и все по новой или есть какая то процедура пересборки?

#248883
"amid88" написал:
Проблема решена, все оказалось просто. Когда устанавливал загрузчик на внешний USB диск, он определялся как sdc, так как флешка с SystemRescueCd была как sdb, а внутренний диск sda.
Теперь, когда флешки нет, внешний диск стал уже sdb, а в kernel /boot/kernel root=/dev/sdc2 он sdc.

Вот по этому я и говорил все по UUID надо делать и конфиг губа, и fstab
В груб примерно:

text
menuentry 'Gentoo GNU/Linux, с Linux x86_64-3.2.14-zen+' --class gentoo --class gnu-linux --class gnu --class os {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod reiserfs
        set root='(hd0,msdos2)'
        search --no-floppy --fs-uuid --set=root 1f18d7e5-58fd-4a05-b0c6-642ed763e780
        echo    'Загружается Linux x86_64-3.2.14-zen+ ...'
        linux   /boot/kernel-genkernel-x86_64-3.2.14-zen+ root=UUID=1f18d7e5-58fd-4a05-b0c6-642ed763e780 ro  video=vesafb:ywrap,mtrr:3 vga=0x317 console=tty1 splash=silent,theme:natural_gentoo nomodeset apm=off
        echo    'Загружается начальный ramdisk ...'
        initrd  /boot/initramfs-genkernel-x86_64-3.2.14-zen+

}
В fstab примерно

text
UUID=1f18d7e5-58fd-4a05-b0c6-642ed763e780  /                        reiserfs    notail,noatime,defaults  0 1
UUID=981d388f-e071-44e2-8d2f-a5f54d80008e  none                     swap        sw                       0 0

Посмотреть uuid:

text
ls -l /dev/disk/by-uuid/ | grep sda1

или

text
blkid

И тогда не важно каким диск по очереди стал.

#248885

Понял, спасибо, Slackware ставил с DVD диска, и этой проблемы не было, а здесь вот "вылезла".

#248887
amid88 написал:

Теперь следующий этап, что делать с ядром, я его собрал без каких либо изменений, все как было по умолчанию, как теперь его опять пересобирать, исходники его остались в /usr/src/linux , что теперь просто заходить в каталог и все по новой или есть какая то процедура пересборки?

Обновление gentoo-sources до 3.2.0 Первый пост читай. По поводу что включать в ядро или нет подскажет во первых lspsi (покажет инфу по железу) ну и гугл. Если не уверен лучше и не трогай опцию. Можешь смело выкинуть дрова на вафлю если ее нет на звук которые не используются. Ну и так далее.

#248893

Еще вопрос по ядру:
ядро должно быть монолитным и где то вообще есть описания всех пунктов ядра, только 3-го, потому что 2.6 как то не так.

#248894
"amid88" написал:
и где то вообще есть описания всех пунктов ядра,

Например, используя make menuconfig, находясь на пункте с интересующей опцией, нажать клавишу «?».

#248895

Благодарю, наверное там будет по английски, у меня есть такое длинное описание всех пунктов и рекомендации, используя его, я когда то собирал , очень удобно, если какой то пункт не понятен, тогда уже ищу в интернете , а искать все подряд тяжело, тем более что всего один комп., но к сожалению в 3-ем как то по другому все.

#248896

amid88, в настоящее время «допиливание» ядра это больше хобби, чем насущная необходимость. А своему хобби приходится уделять время ;) Так что только чтение документации и собственный опыт!

#248897
"amid88" написал:
если какой то пункт не понятен, тогда уже ищу в интернете , а искать все подряд тяжело, тем более что всего один комп

Я, наверное, вас не понял — ничто не мешает настраивать ядро и заниматься поиском в Интернет.
...разве что «кто», кому в данный момент нужны компьютер или ваше внимание. ;)

#248900

Да, все верно, для работы хватает и Ubuntu, хотя и не совсем все устраивает, поэтому и хочу научиться сам делать систему под себя. Буду разбираться дальше с этим ядром, я же поставил как оно есть, наверное много лишнего там и не все включено, что необходимо.
Да, а все таки с rootdelay=1 уже не работает, начинает работать при 2.

#248901
"newzenon" написал:
Вот по этому я и говорил все по UUID надо делать и конфиг губа, и fstab

Ну это не единственный способ, например мне больше нравится старый способ, загрузки по метке (label)
например для ext2, ext3, ext4

e2label /dev/XXX <метка>

в /etc/fstab

text
LABEL=root12   /          ext4            noatime   0 1

А в качестве загрузчика для флэшки мне больше бы понравился extlinux
Строчка диска прописывается примерно так:

text
append initrd=/boot/initrd root=LABEL=root12

смотреть параметры загрузчика syslinux

Войдите или зарегистрируйтесь, чтобы ответить.