Пересборка ядра 3.14.18

Коллеги, добрый вечер!

На относительно стареньком ноуте пересобираю ядро. Поддержку IDE включил (по умолчанию в новом .config она выключена).
При перезагрузке вылетает сообщение:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block (0,0)

Диск разбит следующим образом:
/dev/sda1 - 80 Гб - /
/dev/sda2 - 210 Гб - /home
/dev/sda3 - 8 Гб - swap

Что-то я туплю.
Ткните носом в решение.

а чем вас не устраивает текущий конфиг? Не работает?

В стандартном точно IDE включен. У меня пять машин десятилетней давности работают со стандартным конфигом на IDE-винтах.

При компиляции ядра со стандартным конфигом та же ситуация.

Каким образом ядро компилируете? Initrd делаете?
И на всякий случай покажите вывод команды lspci и конфиг ядра. (Со стандартным непересобранным запускается же?)

Добрый день!

Initrd по команде dracut -H делаю, но создается впечатление, что она не отрабатывает, кстати cl-setup-boot выдает, что создание Host-Only initramfs пропущено.

Выхлоп pcils мoего раритета (DELL Latitude D505):

00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
00:1d.0 USB controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)
00:1d.1 USB controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)
00:1d.2 USB controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)
00:1d.7 USB controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 81)
00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 01)
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)
01:01.0 CardBus bridge: Texas Instruments PCI4510 PC card Cardbus Controller (rev 02)
01:01.1 FireWire (IEEE 1394): Texas Instruments PCI4510 IEEE-1394 Controller
01:03.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05)
01:08.0 Ethernet controller: Intel Corporation 82801DB PRO/100 VE (MOB) Ethernet Controller (rev 81)

И такая проблема возникла при копании в 14 версии. 13-е себе такого не позволяли.

Андрей По wrote:

Добрый день!

Initrd по команде dracut -H делаю, но создается впечатление, что она не отрабатывает, кстати cl-setup-boot выдает, что создание Host-Only initramfs пропущено.

Выхлоп pcils мoего раритета (DELL Latitude D505):
[…]

И такая проблема возникла при копании в 14 версии. 13-е себе такого не позволяли.

Попробуйте сделать dracut -Hf. Если у вас уже лежит в /boot старый initrd dracut не будет его пересоздавать без ключа --force

Добрый день!

Вот результат чистого эксперимента (предыдущий ноут DELL Latitude D505 был отложен в сторону).
Подопытный кролик - hp550

  1. Установил систему с образа CLDX-14. Диск разбил так: /dev/sda1 - / (200 Гб), /dev/sda2 - swap (12 Гб).

  2. Не меняя файлы fstab и make.conf провел обновление бинарного профиля командой: layman -s ALL && emerge -vtuD system world. В процессе обновления было установлено ядро 3.14.18

  3. Перегрузился, дабы иметь ядро 3.14.18 в работе.

  4. Применил рецепт из документации на Calculate-Linux, описывающий установку ядра со своими настройками.
    (в файле .config ничего не менял, решил пересобрать как есть, на попробовать)
    Единственное изменение было в файле Makefile параметра EXTRAVERSION на свой = hp550

  5. При команде dracut -Hf получил такой выхлоп:

    Executing: /usr/bin/dracut -Hf
    00bootchart: Could not find command ‘/sbin/bootchartd’!
    00dash: Could not find command ‘/bin/dash’!
    dracut module ‘i18n’ will not be installed, because it’s in the list to be omitted!
    90crypt: Could not find command ‘cryptsetup’!
    dracut module ‘multipath’ will not be installed, because it’s in the list to be omitted!
    95fcoe-uefi: Could not find command ‘dcbtool’!
    95fcoe-uefi: Could not find command ‘fipvlan’!
    95fcoe-uefi: Could not find command ‘lldpad’!
    95iscsi: Could not find command ‘iscsistart’!
    95iscsi: Could not find command ‘iscsi-iname’!
    95nbd: Could not find command ‘nbd-client’!
    97biosdevname: Could not find command ‘biosdevname’!
    00dash: Could not find command ‘/bin/dash’!
    90crypt: Could not find command ‘cryptsetup’!
    95fcoe-uefi: Could not find command ‘dcbtool’!
    95fcoe-uefi: Could not find command ‘fipvlan’!
    95fcoe-uefi: Could not find command ‘lldpad’!
    95iscsi: Could not find command ‘iscsistart’!
    95iscsi: Could not find command ‘iscsi-iname’!
    95nbd: Could not find command ‘nbd-client’!
    *** Including module: bash ***
    *** Including module: caps ***
    *** Including module: video ***
    *** Including module: network ***
    *** Including module: drm ***
    *** Including module: plymouth ***
    *** Including module: calculate ***
    *** Including module: kernel-modules ***
    *** Including module: nfs ***
    *** Including module: resume ***
    *** Including module: rootfs-block ***
    *** Including module: terminfo ***
    *** Including module: tuxonice ***
    dracut-install: ERROR: installing ‘tuxoniceui’
    /usr/libexec/dracut-install -D /var/tmp/initramfs.BB2i5B tuxoniceui
    *** Including module: udev-rules ***
    Skipping udev rule: 91-permissions.rules
    Skipping udev rule: 80-drivers-modprobe.rules
    *** Including module: usrmount ***
    *** Including module: base ***
    *** Including module: fs-lib ***
    *** Including module: shutdown ***
    *** Including modules done ***
    *** Installing kernel module dependencies and firmware ***
    *** Installing kernel module dependencies and firmware done ***
    *** Resolving executable dependencies ***
    *** Resolving executable dependencies done***
    *** Pre-linking files ***
    *** Pre-linking files done ***
    *** Stripping files ***
    *** Stripping files done ***
    *** Store current command line parameters ***
    *** Creating image file ***
    *** Creating image file done ***

6. Попробовал перегрузиться с новым ядром. Результат прежний:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block (0,0)

7. Перегрузился со старым ядром залез в /boot и не нашел там файла initramfs-3.14.18-hp550.img. Файл initramfs-3.14.18-calculate.img изменил дату и время на текущее.

Не понятно, происходит и что делать?
На всякий случай публикую выхлоп lspci

00:00.0 Host bridge: Intel Corporation Mobile GME965/GLE960 Memory Controller Hub (rev 0c)
00:02.0 VGA compatible controller: Intel Corporation Mobile GME965/GLE960 Integrated Graphics Controller (rev 0c)
00:02.1 Display controller: Intel Corporation Mobile GME965/GLE960 Integrated Graphics Controller (rev 0c)
00:19.0 Ethernet controller: Intel Corporation 82562GT 10/100 Network Connection (rev 03)
00:1a.0 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)
00:1a.7 USB controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)
00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 03)
00:1d.0 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
00:1f.0 ISA bridge: Intel Corporation 82801HM (ICH8M) LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 03)
10:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)

Андрей ПО , если хотите своё название ядра то в /etc/portage/make.conf/custom :

KERNELNAME="ваше_название"

и всё автоматом нормально собирается (конфиг шаблоноами http://www.calculate-linux.ru/blogs/ru/491/show читайте комментарии) :slight_smile:

  • за решение спасибо хорошему человеку под ником rasdark :slight_smile:
    ps. “dracut -Hf” а то что название отличается от дефолта dracut пусть додумывает сам (есть и ещё упущения в выбранном вами варианте) ?

Единственное изменение было в файле Makefile параметра EXTRAVERSION на свой = hp550

Да, вот тут собака и зарыта.
В таком случае действительно нужно KERNELNAME=“ваше_название”

Насчёт интеллекта dracut не знаю, нужно проверять. Я EXTRAVERSION в кальке ещё ни разу не менял.

Алексей Тихонов wrote:

* за решение спасибо хорошему человеку под ником rasdark :slight_smile:

Спасибо разработчикам за учёт и реализацию подобной возможности :slight_smile:

Добрый день!

Заработало. Вот что я делал.

1. Ставим ядро из бинарного профиля.
2. Перегружаемся с новым ядром.
3. Уничтожаем предыдущие версии ядра (т.е. я ставил 3.14.18, убивал 3.14.17) со всеми хвостами.
4. Ставим новое ядро из не бинарного профиля.
5. Дальше по рецепту, изложенному http://www.calculate-linux.ru/blogs/ru/491/show

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