Bug 20684 - Не загружаются ядра 2.6.30
Summary: Не загружаются ядра 2.6.30
Status: CLOSED WORKSFORME
Alias: None
Product: Sisyphus
Classification: Development
Component: kernel-image-std-def (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Vitaly Chikunov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-05 14:37 MSD by Serge Polkovnikov
Modified: 2011-09-07 12:15 MSK (History)
2 users (show)

See Also:


Attachments
Вот скиншот загрузки на .30 ядре (103.12 KB, image/jpeg)
2009-07-05 15:26 MSD, Serge Polkovnikov
no flags Details
dmesg от .29 ядра (45.64 KB, text/plain)
2009-07-05 16:05 MSD, Serge Polkovnikov
no flags Details
initrd-test.txt (10.45 KB, text/plain)
2009-07-05 16:58 MSD, Serge Polkovnikov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Serge Polkovnikov 2009-07-05 14:37:08 MSD
У меня(мат.плата Gigabyte GA-M750SLI-DS4 на чипсете nForce750a) не загружаются ядра версии 2.6.30(-alt1,3). Ядра предыдущих версий грузились нормально.
Ругается на невозможность загрузить initrd, т.к. нет доступа к блочному девайсу.

Вот мое железо:
$ lspci
00:00.0 RAM memory: nVidia Corporation MCP78S [GeForce 8200] Memory Controller (rev a2)
00:01.0 ISA bridge: nVidia Corporation Device 075d (rev a2)
00:01.1 SMBus: nVidia Corporation MCP78S [GeForce 8200] SMBus (rev a1)
00:01.2 RAM memory: nVidia Corporation MCP78S [GeForce 8200] Memory Controller (rev a1)
00:01.4 RAM memory: nVidia Corporation MCP78S [GeForce 8200] Memory Controller (rev a1)
00:02.0 USB Controller: nVidia Corporation MCP78S [GeForce 8200] OHCI USB 1.1 Controller (rev a1)
00:02.1 USB Controller: nVidia Corporation MCP78S [GeForce 8200] EHCI USB 2.0 Controller (rev a1)
00:04.0 USB Controller: nVidia Corporation MCP78S [GeForce 8200] OHCI USB 1.1 Controller (rev a1)
00:04.1 USB Controller: nVidia Corporation MCP78S [GeForce 8200] EHCI USB 2.0 Controller (rev a1)
00:06.0 IDE interface: nVidia Corporation MCP78S [GeForce 8200] IDE (rev a1)
00:07.0 Audio device: nVidia Corporation MCP78S [GeForce 8200] High Definition Audio (rev a1)
00:08.0 PCI bridge: nVidia Corporation MCP78S [GeForce 8200] PCI Bridge (rev a1)
00:09.0 SATA controller: nVidia Corporation MCP78S [GeForce 8200] AHCI Controller (rev a2)
00:0a.0 Ethernet controller: nVidia Corporation MCP78S [GeForce 8200] Ethernet (rev a2)
00:0b.0 PCI bridge: nVidia Corporation MCP78S [GeForce 8200] PCI Express Bridge (rev a1)
00:10.0 PCI bridge: nVidia Corporation MCP78S [GeForce 8200] PCI Express Bridge (rev a1)
00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, Athlon64, Sempron] HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, Athlon64, Sempron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, Athlon64, Sempron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, Athlon64, Sempron] Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, Athlon64, Sempron] Link Control
01:09.0 FireWire (IEEE 1394): Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link)
02:00.0 VGA compatible controller: nVidia Corporation nForce 750a SLI (rev a2)
03:00.0 VGA compatible controller: nVidia Corporation GeForce 9800 GTX (rev a2)
Comment 1 Valery Inozemtsev 2009-07-05 14:46:51 MSD
root на IDE или на SATA?
Comment 2 Serge Polkovnikov 2009-07-05 14:49:15 MSD
на SATA
Comment 3 Valery Inozemtsev 2009-07-05 14:52:08 MSD
на ядрах ниже .30 он видится как hda или как sda?
Comment 4 Serge Polkovnikov 2009-07-05 14:54:22 MSD
sda
В БИОСе включен в AHCI режим.
Comment 5 Valery Inozemtsev 2009-07-05 14:57:04 MSD
показывайте что там у вас в /etc/lilo.conf для 30-го и того на котором грузится
Comment 6 Serge Polkovnikov 2009-07-05 15:04:32 MSD
vga="0x31B"
#vga="0x348"
lba32
prompt
default="ALTLinux"
boot="/dev/sda"
timeout="50"
install="menu"
append="splash=silent"


image="/boot/vmlinuz"
        initrd="/boot/initrd.img"
        label="ALTLinux"
        append=" splash=silent"
        root="/dev/sda7"
        read-only

image="/boot/vmlinuz-2.6.29-std-def-alt4"
        initrd="/boot/initrd-2.6.29-std-def-alt4.img"
        label="2629-std-def-4"
        root="/dev/sda7"
        read-only
        optional

image="/boot/vmlinuz-2.6.30-std-def-alt3"
        initrd="/boot/initrd-2.6.30-std-def-alt3.img"
        label="2630-std-def-3"
        root="/dev/sda7"
        read-only
        optional
Comment 7 Valery Inozemtsev 2009-07-05 15:07:04 MSD
покажите вывод
$ ls -l /dev/disk/by-uuid/
Comment 8 Valery Inozemtsev 2009-07-05 15:08:07 MSD
и /etc/fstab до кучи
Comment 9 Serge Polkovnikov 2009-07-05 15:23:16 MSD
[root@home1 ~]# ls -l /dev/disk/by-uuid/
загалом 0
lrwxrwxrwx 1 root root 10 лип  5  2009 0678B35078B33CED -> ../../sda5
lrwxrwxrwx 1 root root 10 лип  5  2009 370226f2-5099-4926-9597-f8eedaa4cda5 -> ../../sda6
lrwxrwxrwx 1 root root 10 лип  5  2009 78d9b234-6671-4704-8ab4-121d52145532 -> ../../sda9
lrwxrwxrwx 1 root root 10 лип  5  2009 9f340cf7-fcaa-4fe8-8265-78a8c6870ec1 -> ../../sda8
lrwxrwxrwx 1 root root 10 лип  5  2009 c7355a9e-bf3f-4e1a-8a27-c48ee70625b5 -> ../../sda7
lrwxrwxrwx 1 root root 10 лип  5  2009 CA34789834788969 -> ../../sda1
[root@home1 ~]# cat /etc/fstab
# This file is edited by fstab-sync - see 'man fstab-sync' for details
proc            /proc                   proc    nosuid,noexec,gid=proc          0 0
devpts          /dev/pts                devpts  nosuid,noexec,gid=tty,mode=620  0 0
tmpfs           /tmp                    tmpfs   nosuid                          0 0
/dev/sda7       /       ext3    defaults        0       1
/dev/sda8       /home   ext3    defaults        0       0
/dev/sda9       /var/pub        ext3    defaults        0       0
/dev/sda6       swap    swap    defaults        0       0
/dev/sda1       /mnt/win_c      ntfs-3g rw,locale=uk_UA.UTF-8   0 0
/dev/sda5       /mnt/win_d      ntfs-3g rw,locale=uk_UA.UTF-8   0 0
/var/pub        /var/ftp/pub    none    bind    0 0
Comment 10 Serge Polkovnikov 2009-07-05 15:26:50 MSD
Created attachment 3639 [details]
Вот скиншот загрузки на .30 ядре

Вот скиншот загрузки на .30 ядре
Comment 11 Serge Polkovnikov 2009-07-05 16:05:51 MSD
Created attachment 3640 [details]
dmesg от .29 ядра

dmesg от .29 ядра
Comment 12 Sergey Vlasov 2009-07-05 16:43:03 MSD
Что-то случилось с образом initramfs - либо он испорчен, либо lilo по каким-то причинам не может правильно передать его ядру. Сделайте на всякий случай копию файла /boot/initrd-2.6.30-std-def-alt3.img в текущем его состоянии, после чего проверьте этот файл:

  gunzip -tv /boot/initrd-2.6.30-std-def-alt3.img
  zcat /boot/initrd-2.6.30-std-def-alt3.img | cpio -tv

Если будут какие-то ошибки, можно попробовать перегенерировать этот файл, после чего необходимо переустановить загрузчик lilo:

  mkinitrd -fv /boot/initrd-2.6.30-std-def-alt3.img 2.6.30-std-def-alt3
  lilo -v

Сохраните вывод всех команд и приложите получившийся файл, чтобы потом можно было разобраться, где именно что-то испортилось.
Comment 13 Serge Polkovnikov 2009-07-05 16:58:01 MSD
Created attachment 3641 [details]
initrd-test.txt

Ошибок не замечено...
Comment 14 Sergey Vlasov 2009-07-05 20:07:06 MSD
Тогда на всякий случай всё-таки выполните

  lilo -v

(и приложите вывод этой команды).

Если после этого всё равно останется "RAMDISK: Couldn't find valid RAM disk image starting at 0", значит, имеются какие-то проблемы во взаимодействии lilo с новым ядром (возможно, проявляющиеся только с конкретной материнской платой и версией BIOS). Можно попробовать использовать другой загрузчик (например, grub или extlinux).
Comment 15 Serge Polkovnikov 2009-07-05 22:05:29 MSD
Делал - не помогает.

# lilo -v
LILO version 22.7.3, Copyright (C) 1992-1998 Werner Almesberger
Development beyond version 21 Copyright (C) 1999-2006 John Coffman
Released 11-Aug-2006, and compiled at 18:33:11 on Mar 28 2007

Reading boot sector from /dev/sda
Using MENU secondary loader
Calling map_insert_data

Boot image: /boot/vmlinuz -> vmlinuz-2.6.30-std-def-alt3
Mapping RAM disk /boot/initrd.img -> initrd-2.6.30-std-def-alt3.img
Added ALTLinux *

Boot other: /dev/sda1, on /dev/sda, loader CHAIN
Added Windows

Boot image: /boot/memtest-2.11.bin
Added memtest86-2.11

Boot image: /boot/vmlinuz-2.6.27-std-def-alt17
Mapping RAM disk /boot/initrd-2.6.27-std-def-alt17.img
Added 2627-std-def-17

Boot image: /boot/vmlinuz-2.6.29-std-def-alt4
Mapping RAM disk /boot/initrd-2.6.29-std-def-alt4.img
Added 2629-std-def-4

Boot image: /boot/vmlinuz-2.6.30-std-def-alt1
Mapping RAM disk /boot/initrd-2.6.30-std-def-alt1.img
Added 2630-std-def-1

Boot image: /boot/vmlinuz-2.6.30-std-def-alt3
Mapping RAM disk /boot/initrd-2.6.30-std-def-alt3.img
Added 2630-std-def-3

Writing boot sector.
/boot/boot.0800 exists - no boot sector backup copy made.
Comment 16 Sergey Vlasov 2009-07-05 23:09:43 MSD
Тогда можно попробовать grub. Чтобы не разламывать существующий загрузчик, можно сделать CD для загрузки grub:

1) Из пакета grub-0.97-alt5.i586.rpm вынуть файл /boot/grub/stage2_eltorito (вариант grub для загрузки с CD).

2) В каталоге с файлом stage2_eltorito выполнить команду

 mkisofs -R -b stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o grub.iso stage2_eltorito

(вместо mkisofs можно также использовать genisoimage).

3) Записать получившийся образ grub.iso на CD-RW и загрузиться с него.

4) В загрузившемся grub выполнить команды:

 root (hd0,6)
 kernel /boot/vmlinuz-2.6.30-std-def-alt3 root=/dev/sda7 vga=0x31B splash=silent
 initrd /boot/initrd-2.6.30-std-def-alt3.img
 boot

На всякий случай ещё попробуйте убрать опции vga=0x31B splash=silent (хотя, если initramfs не распаковывается, splash в любом случае не появится).
Comment 17 Serge Polkovnikov 2009-07-06 00:42:51 MSD
Спасибо. К сожалению, это не то решение, что я расчитывал. Переходить на груб пока нет особого желания. Посмотрим, что еще ментейнер скажет. А пока на .29 посижу.
Comment 18 Sergey Vlasov 2009-07-06 12:43:40 MSD
Всё-таки проверьте, загружается ли то же самое ядро и initrd через grub.

Ещё попробуйте собрать полный вывод ядра при попытке загрузки через lilo. Идеальный вариант для этого - подключить через COM-порт другую машину нульмодемным кабелем и загрузиться с параметрами console=ttyS0,115200 console=tty0, предварительно настроив на другой машине запись приходящих в порт данных в файл. Если нет возможности настроить serial console, придётся опять делать снимки экрана. Для этого при загрузке через lilo добавьте параметр

  rootdelay=3600

Затем, когда ядро будет отрабатывать эту задержку, используйте Shift+PageUp, чтобы вывести на экран предыдущие сообщения ядра.
Comment 19 Serge Polkovnikov 2009-07-08 00:01:17 MSD
Через grub система загружается
Comment 20 Serge Polkovnikov 2009-07-08 01:25:21 MSD
Похоже проблемы из-за каких-то изменений в работе с бутсплешами. Заменил бутсплеш на другой (рашьше стоял самопальный) ядро начало грузиться.
Comment 21 Sergey V Turchin 2009-07-08 14:45:48 MSD
(В ответ на комментарий №20)
> Заменил бутсплеш на другой (рашьше стоял самопальный) ядро начало грузиться.
Это 1-е, что нужно пробовать, если самопальный
Comment 22 Serge Polkovnikov 2009-07-09 00:30:31 MSD
Ну и что теперь с багом делать? С одной стороны проблема связана с моим самопальным бутсплешем и с другими бутсплешами ядро загружается нормально. С другой стороны не факт, что мой бутсплеш неправильный - утилиты его генерирующие о каких либо проблемах с ним не сообщают. Старые ядра (до 2.6.29 включительно) с ним грузились без проблем. Груб тоже загружает с ним ядро без проблем.
Comment 23 Sergey V Turchin 2009-07-09 14:40:53 MSD
Вообще, патч по словам vsu патч для ядра настолько стремный, что можно спокойно говорить, что "неофициальные бутсплеши не поддерживаются"
Comment 24 Sergey V Turchin 2009-07-09 14:42:08 MSD
Точнее, vsu против этого патча вообще.
Comment 25 Michael Shigorin 2011-09-07 12:15:43 MSK
Съехали на plymouth.