26.12.2008 в 14:37 — Иван
Как так люди собирают ядро и при этом не появляется кернэль паник???? Я уже четвёртый раз пытаюсь, за всё время пользования линукса. Каждый раз кернель паник!
Последний раз компилил 2.6.29.4.
При загрузке выдал следующее:
No filesystem could mount root, tried: ext4
VFS: Unable to mount root fs on unknown-block (0,0)
Вот ядро в грубе:
title linux-2.6.29.4-lind of Chtulhu
root (hd0,5)
kernel /boot/vmlinuz-2.6.29.4 root=/dev/hda6 ro
initrd /boot/initrd-2.26.29.4.img
Вот в фстабе:
/dev/hda6 / ext3 defaults,errors=remount-ro 0 1
А вот в грубе ядро которое запускается:
title Debian GNU/Linux, kernel 2.6.26-2-686
root (hd0,5)
kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/hda6 ro
initrd /boot/-2.6.26-2-686
файловые системы вроде включил... Что я сюда не дописал?? Подскажите пожалуйста!
Комментарии
initrd сгенерировал?
Корень на ext4, вкомпиль ее жестко в ядро, а не модулем.
Оооооо! Сам Ричард столман мне советует!!!!!! Какая честь))))
#2 Да инитрд сам сгенерировал. Ненадо было?
#3 A ext4 у меня вкомпилено. К тому же... у меня жекорень на ext3 и вообще ничего на ext4 нету.
???
что-то с именами запутано, может просто..
ls -l /boot/vmlinuz-2.6.29.4 /boot/initrd-2.26.29.4.img
?
vano@Vano:~$ ls -l /boot/vmlinuz-2.6.29.4 /boot/initrd-2.26.29.4.img
-rw-r--r-- 1 root root 5980160 Май 24 23:50 /boot/initrd-2.26.29.4.img
-rw-r--r-- 1 root root 1805040 Май 24 23:47 /boot/vmlinuz-2.6.29.4
Chtulhu
Плохо влияет на сборку)))))
Ты чем собираешь то? make-kpkg?
такое ощущение что кривой initrd
Я стараюсь брать исходный конфиг и убираю только драйвера железа которго у меня нет и не будет в ноуте.
а потом
make-kpkg --revision=1.0 --append-to-version=-blablabla --initrd kernel_image kernel_headers
и иду пивопить, телек смотреть.
Эм... Вот так make bzImage modules modules_install install
А потом вот так mkinitrd -o /boot/initrd-2.26.29.4.img
А как надо?
"No filesystem could mount root, tried: ext4"
Хм... а почему же оно тогда ext4 пробует.
Ну похоже что ядро пробует примонтировоть рутфс а потом уж отчаившись пробует ext4 но и он не подходит.
вот и говорит.
VFS: Unable to mount root fs on unknown-block (0,0)
>А как надо?
не знаю как надо. я написал как сам делаю)
"Хм... а почему же оно тогда ext4 пробует." - действительно страноо. ХЗ.
"не знаю как надо. я написал как сам делаю)" - а можешь написать что мне надо делать?)))
В смысле?
Ну посмотреть еще раз конфиг ядра .config что там про initrd и файловые системы.
Ну и попробовать моим способом собрать ядро.
(make-kpkg --revision=1.0 --append-to-version=-blablabla --initrd kernel_image kernel_headers)
На выходе получишь 2 файла. linux-image.... .deb и linux-headers..... .deb
Потом как обычный деб пакет устанавливаешь и перезагружаешься.
Вот что по поводу FS в конфиге лежащем в 2.6.26-2 headers из реп сквиза.
#
# File systems
#
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=m
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4DEV_FS=m
CONFIG_EXT4DEV_FS_XATTR=y
CONFIG_EXT4DEV_FS_POSIX_ACL=y
CONFIG_EXT4DEV_FS_SECURITY=y
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=m
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=m
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_FS=m
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_DEBUG is not set
CONFIG_GFS2_FS=m
CONFIG_GFS2_FS_LOCKING_NOLOCK=m
CONFIG_GFS2_FS_LOCKING_DLM=m
CONFIG_OCFS2_FS=m
CONFIG_OCFS2_FS_O2CB=m
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
CONFIG_OCFS2_DEBUG_MASKLOG=y
# CONFIG_OCFS2_DEBUG_FS is not set
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=m
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_GENERIC_ACL=y
Дык если вы делаете initrd то можно все оставлять модулями, только надо добавить их в /etc/initramfs-tools/modules.
Я бы посоветовал не юзать make-kpkg. Там в мейке есть цели для самых распространенных систем установки пекетов, таких как рпм и деб.
make menuconfig
make deb-pkg -j(number of cores + 1)
dpkg -i ../
update-initramfs -c -k 2.6.29.4
vim /boot/grub/
Сделал. Всё почти тоже самое. Теперь при запуске выдаёт:
No filesystem could mount root, tried: ext4, DEVEXT4
VFS: Unable to mount root fs on unknown-block (0,0)
Хм. Вроде ничего не добавлял не убирал...
Ха!! Убрал полностью екст4 из конфига и оно запустилось!!!! УРАААА!!!
Только я не вижу особой разницы в работе... Она должна быть?
По-моему я даже одну сетевую карту не включил, а всё-равно работает сеть... страноо???
Федор Сахаров
> Я бы посоветовал не юзать make-kpkg
интересно, почему? если есть Debian-based, то его использовать логичнее.
и напоследок - есть такая вещь, как CONCURRENCY_LEVEL.
Ну у меня одно-ядерный проц, поэтому меня не волнует)))
> если есть Debian-based, то его использовать логичнее.
Логичнее, да. Но для моих целей больше подходит мейк и алсо он ни разу в отличие от make-kpkg с его стремными скриптами, не зафейлил пакет.
а какие цели то? Захавать мир?
kernel package тоже у меня фэйлил и сам при установке создавал initrd. Для забывчивых полезно.