Автор Тема: Ошибка при загрузке waiting for root file system  (Прочитано 3396 раз)

Оффлайн Ligiets

  • Участник
  • *
  • Сообщений: 59
Вот что я нарыл:
Несколько пользователей сообщили, что при обновлении ядро не смогло найти корневой раздел системы после перезагрузки.
В этом случае загрузка системы будет останавливаться на таком сообщении:
Waiting for root file system ...

При загрузке с Flash Linux не грузится! Что делать?

Вот мой lilo.conf.
Ставлю командой lilo -C /etc/lilo-sdb.conf.
То есть ставится на /dev/sdb. Меню появляется.
[root@Linux ~]# cat /etc/lilo-sdb.conf
boot="/dev/sdb"
message="/media/System/boot/splash/message"
map="/media/System/boot/map"
lba32
prompt
compact
install="menu"
vga="0x314"
append="panic=30 splash=silent"

timeout="100"
default="ALTLinux_sdb"

image="/media/System/boot/vmlinuz"
label="ALTLinux_sdb"
initrd="/media/System/boot/initrd.img"
root="UUID=c9e00549-f6aa-4b38-ae9d-0cbdf0fe9af8"
read-only

image="/boot/vmlinuz"
label="ALTLinux_sdb_on_sda"
initrd="/boot/initrd.img"
root="UUID=c9e00549-f6aa-4b38-ae9d-0cbdf0fe9af8"
read-only

image="/boot/vmlinuz"
label="ALTLinux2"
initrd="/boot/initrd.img"
root="UUID=a9f283d6-66ff-4e5c-b4f6-d0a32aa66c53"
read-only
ALTLinux2 грузится, а ALTLinux_sdb_on_sda и ALTLinux_sdb_on_sda не грузятся.
[root@Linux ~]# blkid
...
/dev/sda6: UUID="a9f283d6-66ff-4e5c-b4f6-d0a32aa66c53" TYPE="ext3" SEC_TYPE="ext2"
...
/dev/sdb1: LABEL="System" UUID="c9e00549-f6aa-4b38-ae9d-0cbdf0fe9af8" TYPE="ext3"
/dev/sdb2: LABEL="Home" UUID="a2c5d3ce-97da-4143-85bb-035691012ed4" TYPE="ext3"
...
Почему не грузятся ALTLinux_sdb_on_sda и ALTLinux_sdb_on_sda я понять не могу. То есть, вроде, понятно, что это ядро не находит почему-то root filesystem. Но не понятно что теперь делать.
[root@Linux ~]# ls /media/System
bin   dev  home  lost+found  mnt  proc  sbin  sys  usr
boot  etc  lib   media       opt  root  srv   tmp  var
[root@Linux ~]# ls /media/System/boot
System.map-2.6.30-std-def-alt14  initrd.img        vmlinuz
boot.0300                        map               vmlinuz-2.6.30-std-def-alt14
config-2.6.30-std-def-alt14      memtest-4.00.bin
initrd-2.6.30-std-def-alt14.img  splash
[root@Linux ~]# ls -l /media/System/boot
total 4228
-rw-r--r-- 1 root root 1138865 Oct  7 11:44 System.map-2.6.30-std-def-alt14
-rw-r--r-- 1 root root     512 Apr  2 10:10 boot.0300
-rw-r--r-- 1 root root  107671 Oct  7 11:35 config-2.6.30-std-def-alt14
-rw------- 1 root root  686667 Apr  2 10:09 initrd-2.6.30-std-def-alt14.img
lrwxrwxrwx 1 root root      31 Apr  2 17:09 initrd.img -> initrd-2.6.30-std-def-alt14.img
-rw------- 1 root root  217600 Apr  2 23:19 map
-rw-r--r-- 1 root root  160280 Sep 23  2009 memtest-4.00.bin
drwxr-xr-x 3 root root    4096 Apr  2 10:09 splash
lrwxrwxrwx 1 root root      28 Apr  2 17:09 vmlinuz -> vmlinuz-2.6.30-std-def-alt14
-rw-r--r-- 1 root root 1969392 Oct  7 11:44 vmlinuz-2.6.30-std-def-alt14
[root@Linux ~]#
Вот файл fstab. Но в нём, вроде бы, всё правильно.
[root@Linux ~]# cat /media/System/etc/fstab
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
UUID=c9e00549-f6aa-4b38-ae9d-0cbdf0fe9af8 / ext3 relatime 11
UUID=a2c5d3ce-97da-4143-85bb-035691012ed4 /home ext3 nosuid,relatime12
#/dev/hdc /media/cdrom udf,iso9660 ro,noauto,user,utf8 0 0
Как дать понять ядру, что root filesystem - это sdb1 c UUID=c9e00549-f6aa-4b38-ae9d-0cbdf0fe9af8?
И как узнать какую filesystem ожидает ядро?

Оффлайн Ligiets

  • Участник
  • *
  • Сообщений: 59
Установить ALT Linux 5.0 Ковчег на USB-HDD получилось так:
Вогнал установочный диск и установил. Но сделал это на современном компе.
На не очень современном компе это не получалось. 10 раз он зависал на этапе разметки диска. И всегда зависал где-нибудь на этапе установки пакетов. Ну, не знаю почему так, но это факт.
Какие проблемы остались?
Да, по сути всё тоже самое. От самой сути проблемы я уйти не смог.
Обновил ядро update-kernel.
И...
НОВОЕ ЯДРО НЕ ГРУЗИТСЯ!!!
Проблема осталась!!!
То есть происходит всё тоже самое!!!
Та же ошибка - Waiting for root file system!!!
Это происходит по следующей причине:
Установщик сделал всё правильно - установил ядро, и видимо, в initrd.img затолкал USB-драйвера!
А глупый update-kernel этого не сделал!!!
Вот поэтому и не грузится новое ядро - у него драйверов нет для USB!!!
Вопрос:
А как затолкать USB-драйвера в initrd.img?
И что туда заталкивать?

От модератора: не злоупотребляйте выделением текста полужирным стилем, пожалуйста.
« Последнее редактирование: 05.04.2010 13:39:41 от Skull »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 373
  • Учиться .... Телепатами не рождаются, ими ....
man mkinitrd
mkinitrd --help

Оффлайн Ligiets

  • Участник
  • *
  • Сообщений: 59
Цитировать
man mkinitrd
mkinitrd --help
Ну, это логично.
Это ответ на вопрос как заталкивать.
Я почитаю.
А что заталкивать?
usb-ochi и usb-uchi?
А это точно из-за initrd.img???
Это ж я предположил... Верно ли моё предположение?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 373
  • Учиться .... Телепатами не рождаются, ими ....
1. Вы-же можете посмотреть, что в initrd лежит - file вам в помощь :) - там упакованный образ, он легко распаковывается и монтируется через loop.
2. Наверное, всё-таки ehci-hcd.
3. update-kernel сам ничего не делает, он только вызывает установку нужных модулей ядра. Устанавливает ядро непосредственно скрипт kernel-imstall, который вызывает mkinitrd c параметрами. определяемыми в зависимости, от того, что показывает lsmod. Возможно, там стоит фильтр, который выкидывает драйвера USB.

Оффлайн Ligiets

  • Участник
  • *
  • Сообщений: 59
Смонтировал вот так:
[root@Linux_USB initrd]# mount -t devpts -o loop initrd-2.6.30-std-def-alt14 alt14
[root@Linux_USB initrd]# ls -l alt14
total 0
crw------- 1 root tty  136, 0 Apr  4 21:43 0
c--------- 1 root root   5, 2 Apr  5  2010 ptmx
[root@Linux_USB initrd]# mount -t devpts -o loop initrd-2.6.30-std-def-alt15 alt15
[root@Linux_USB initrd]# ls -l alt15
total 0
crw------- 1 root tty  136, 0 Apr  4 21:43 0
c--------- 1 root root   5, 2 Apr  5  2010 ptmx
[root@Linux_USB initrd]#
[root@Linux_USB initrd]# ls -l
total 4912
drwxr-xr-x 2 root root       0 Apr  5  2010 alt14
drwxr-xr-x 2 root root       0 Apr  5  2010 alt15
-rw------- 1 me   me   2097152 Apr  4 21:27 initrd-2.6.30-std-def-alt14
-rw------- 1 me   me    844704 Apr  3 19:46 initrd-2.6.30-std-def-alt14.gz
-rw------- 1 me   me   1442304 Apr  4 21:27 initrd-2.6.30-std-def-alt15
-rw------- 1 me   me    618580 Apr  3 20:48 initrd-2.6.30-std-def-alt15.gz
Ядро alt14 содержит в себе USB драйвера, а alt15 нет, но из того что внутри вообще не понятно что это такое и для чего оно надо! Там какие-то 2 файла:
0 и ptmx.
Причём одинаковые.
Как узнать какие драйвера внутри initrd?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 373
  • Учиться .... Телепатами не рождаются, ими ....
Мне кажется, надо смотреть тут :
initrd-2.6.30-std-def-alt15.gz

Оффлайн Ligiets

  • Участник
  • *
  • Сообщений: 59
Цитировать
Мне кажется, надо смотреть тут :
initrd-2.6.30-std-def-alt15.gz
Я отвечу в виде команд, чтоб вопросов не было:
[me@Linux_USB /]$ su -
Password:
[root@Linux_USB ~]# cd /boot
[root@Linux_USB boot]# ls -l
total 8160
-rw-r--r-- 1 root root 1138865 Oct  7 11:44 System.map-2.6.30-std-def-alt14
-rw-r--r-- 1 root root 1138865 Dec 14 12:45 System.map-2.6.30-std-def-alt15
lrwxrwxrwx 1 root root       1 Apr  5 18:32 boot -> .
-rw-r--r-- 1 root root     512 Apr  3 21:58 boot.0810
-rw-r--r-- 1 root root     512 Apr  3 19:47 boot.FD08
-rw-r--r-- 1 root root  107671 Oct  7 11:35 config-2.6.30-std-def-alt14
-rw-r--r-- 1 root root  107660 Dec 14 12:36 config-2.6.30-std-def-alt15
drwxr-xr-x 2 root root    4096 Apr  5 18:32 grub
-rw------- 1 root root  844704 Apr  3 19:46 initrd-2.6.30-std-def-alt14.img
-rw------- 1 root root  618580 Apr  3 20:48 initrd-2.6.30-std-def-alt15.img
lrwxrwxrwx 1 root root      31 Apr  3 20:48 initrd.img -> initrd-2.6.30-std-def-alt15.img
-rw------- 1 root root  215552 Apr  5 09:00 map
-rw-r--r-- 1 root root  160280 Sep 23  2009 memtest-4.00.bin
drwxr-xr-x 3 root root    4096 Apr  3 20:44 splash
lrwxrwxrwx 1 root root      28 Apr  3 20:48 vmlinuz -> vmlinuz-2.6.30-std-def-alt15
-rw-r--r-- 1 root root 1969392 Oct  7 11:44 vmlinuz-2.6.30-std-def-alt14
-rw-r--r-- 1 root root 1969840 Dec 14 12:46 vmlinuz-2.6.30-std-def-alt15
[root@Linux_USB boot]# rsync -Pav initrd-2.6.30-std-def-alt14.img /home/me/initrd/
sending incremental file list
initrd-2.6.30-std-def-alt14.img
      844704 100%   21.51MB/s    0:00:00 (xfer#1, to-check=0/1)

sent 844903 bytes  received 31 bytes  563289.33 bytes/sec
total size is 844704  speedup is 1.00
[root@Linux_USB boot]# rsync -Pav initrd-2.6.30-std-def-alt15.img /home/me/initrd/
sending incremental file list
initrd-2.6.30-std-def-alt15.img
      618580 100%   23.28MB/s    0:00:00 (xfer#1, to-check=0/1)

sent 618751 bytes  received 31 bytes  1237564.00 bytes/sec
total size is 618580  speedup is 1.00
[root@Linux_USB boot]# chown -R me:me /home/me/initrd
[root@Linux_USB boot]# cd /home/me/initrd
[root@Linux_USB initrd]# ls -l
total 1444
-rw------- 1 me me 844704 Apr  3 19:46 initrd-2.6.30-std-def-alt14.img
-rw------- 1 me me 618580 Apr  3 20:48 initrd-2.6.30-std-def-alt15.img
[root@Linux_USB initrd]# mv initrd-2.6.30-std-def-alt14.img initrd-2.6.30-std-def-alt14.gz
[root@Linux_USB initrd]# mv initrd-2.6.30-std-def-alt15.img initrd-2.6.30-std-def-alt15.gz
[root@Linux_USB initrd]# ls -l
total 1444
-rw------- 1 me me 844704 Apr  3 19:46 initrd-2.6.30-std-def-alt14.gz
-rw------- 1 me me 618580 Apr  3 20:48 initrd-2.6.30-std-def-alt15.gz
[root@Linux_USB initrd]# gunzip initrd-2.6.30-std-def-alt14.gz
[root@Linux_USB initrd]# gunzip initrd-2.6.30-std-def-alt15.gz
[root@Linux_USB initrd]# ls -l
total 3468
-rw------- 1 me me 2097152 Apr  3 19:46 initrd-2.6.30-std-def-alt14
-rw------- 1 me me 1442304 Apr  3 20:48 initrd-2.6.30-std-def-alt15
[root@Linux_USB initrd]# mkdir alt14
[root@Linux_USB initrd]# mkdir alt15
[root@Linux_USB initrd]# mount -t devpts -o loop initrd-2.6.30-std-def-alt15 alt15
[root@Linux_USB initrd]# mount -t devpts -o loop initrd-2.6.30-std-def-alt14 alt14
[root@Linux_USB initrd]# cd alt14
[root@Linux_USB alt14]# ls -l
total 0
crw------- 1 root tty  136, 0 Apr  5 18:34 0
crw------- 1 root tty  136, 1 Apr  5 18:44 1
crw--w---- 1 me   tty  136, 2 Apr  5 18:42 2
c--------- 1 root root   5, 2 Apr  5  2010 ptmx
[root@Linux_USB alt14]# cd ..
[root@Linux_USB initrd]# cd alt15
[root@Linux_USB alt15]# ls -l
total 0
crw------- 1 root tty  136, 0 Apr  5 18:34 0
crw------- 1 root tty  136, 1 Apr  5 18:44 1
crw--w---- 1 me   tty  136, 2 Apr  5 18:42 2
c--------- 1 root root   5, 2 Apr  5  2010 ptmx
[root@Linux_USB alt15]# cd ..
[root@Linux_USB initrd]#
Цитировать
Ядро alt14 содержит в себе USB драйвера, а alt15 нет, но из того что внутри вообще не понятно что это такое и для чего оно надо! Там какие-то 2 файла:
0 и ptmx.
Причём одинаковые.
Как узнать какие драйвера внутри initrd?

Оффлайн Ligiets

  • Участник
  • *
  • Сообщений: 59
Цитировать
2. Наверное, всё-таки ehci-hcd.
3. update-kernel сам ничего не делает, он только вызывает установку нужных модулей ядра. Устанавливает ядро непосредственно скрипт kernel-imstall, который вызывает mkinitrd c параметрами. определяемыми в зависимости, от того, что показывает lsmod. Возможно, там стоит фильтр, который выкидывает драйвера USB.
Возможно...
Вот список, который выдаёт lsmod ALT, который на USB:
[root@Linux_USB ~]# lsmod
Module                  Size  Used by
isofs                  31716  0
udf                    81028  0
crc_itu_t               1868  1 udf
binfmt_misc             8020  1
vboxnetadp             81896  0
vboxnetflt             88680  0
vboxdrv               123592  1 vboxnetflt
kqemu                 129028  0
autofs4                24368  3
af_packet              17644  2
sunrpc                187488  1
rfcomm                 36092  8
bridge                 48288  0
stp                     2288  1 bridge
bnep                   12076  2
sco                    10000  2
l2cap                  22764  16 rfcomm,bnep
ext4                  232780  1
jbd2                   56996  1 ext4
crc16                   1836  1 ext4
nls_utf8                1600  1
nls_cp866               4876  1
vfat                   10380  1
fat                    50252  1 vfat
nls_base                7056  6 isofs,udf,nls_utf8,nls_cp866,vfat,fat
fuse                   58632  6
dm_mod                 56708  0
snd_hda_codec_atihdmi     3404  1
arc4                    1676  2
snd_hda_codec_analog    59436  1
ecb                     2572  2
fglrx                1973928  0
intel_agp              26268  0
iwlagn                 90224  0
uvcvideo               58584  0
joydev                 10016  0
sky2                   46096  0
agpgart                34796  2 fglrx,intel_agp
hp_accel               10284  0
btusb                  11872  2
iwlcore               103596  1 iwlagn
rtc_cmos               10316  0
lis3lv02d               8364  1 hp_accel
fan                     4144  0
rfkill                 10608  2 iwlcore
videodev               35904  1 uvcvideo
v4l1_compat            14448  2 uvcvideo,videodev
rtc_core               17608  1 rtc_cmos
rtc_lib                 2860  1 rtc_core
led_class               4112  2 hp_accel,iwlcore
video                  18304  0
output                  2828  1 video
thermal                12808  0
psmouse                56132  0
wmi                     6696  0
pcspkr                  2316  0
sg                     28640  0
serio_raw               5296  0
battery                10224  0
snd_hda_intel          25928  2
snd_hda_codec          75148  3 snd_hda_codec_atihdmi,snd_hda_codec_analog,snd_hda_intel
snd_hwdep               7056  1 snd_hda_codec
snd_pcm                74096  2 snd_hda_intel,snd_hda_codec
processor              34496  2
sr_mod                 15556  0
cdrom                  34752  1 sr_mod
snd_timer              20788  1 snd_pcm
snd                    58180  10 snd_hda_codec_analog,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
soundcore               7072  1 snd
snd_page_alloc          8852  2 snd_hda_intel,snd_pcm
mac80211              170504  2 iwlagn,iwlcore
bluetooth              53828  9 rfcomm,bnep,sco,l2cap,btusb
cfg80211               64556  3 iwlagn,iwlcore,mac80211
container               3308  0
button                  5244  0
evdev                   9472  11
ac                      4048  0
ohci_hcd               23100  0
uhci_hcd               22044  0
usbhid                 38944  0
hid                    65120  1 usbhid
ehci_hcd               35096  0
usb_storage            36000  4
usb_libusual           20288  1 usb_storage
usbcore               149232  9 uvcvideo,btusb,ohci_hcd,uhci_hcd,usbhid,ehci_hcd,usb_storage,usb_libusual
ext3                  126868  7
jbd                    46048  1 ext3
mbcache                 7568  2 ext4,ext3
ahci                   32988  8
libata                174732  1 ahci
sd_mod                 34856  14
crc_t10dif              1708  1 sd_mod
scsi_mod              150996  5 sg,sr_mod,usb_storage,libata,sd_mod
[root@Linux_USB ~]#

А вот список, который выдаёт lsmod ALT, который не на USB:
[root@Linux ~]# lsmod
Module                  Size  Used by
binfmt_misc             8020  1
vboxnetadp             81896  0
vboxnetflt             88680  0
vboxdrv               123592  1 vboxnetflt
kqemu                 129028  0
radeon                362016  2
drm                   158208  3 radeon
i2c_core               23584  1 drm
autofs4                24368  3
af_packet              17644  2
sunrpc                187488  1
rfcomm                 36092  8
sco                    10000  2
bridge                 48288  0
stp                     2288  1 bridge
bnep                   12076  2
l2cap                  22764  16 rfcomm,bnep
ext4                  232780  1
jbd2                   56996  1 ext4
crc16                   1836  1 ext4
nls_utf8                1600  1
nls_cp866               4876  1
vfat                   10380  1
fat                    50252  1 vfat
nls_base                7056  4 nls_utf8,nls_cp866,vfat,fat
fuse                   58632  6
dm_mod                 56708  0
usbhid                 38944  0
hid                    65120  1 usbhid
btusb                  11872  0
bluetooth              53828  7 rfcomm,sco,bnep,l2cap,btusb
usb_storage            36032  4
uvcvideo               58584  0
usb_libusual           20352  1 usb_storage
videodev               35904  1 uvcvideo
v4l1_compat            14448  2 uvcvideo,videodev
snd_hda_codec_atihdmi     3404  1
snd_hda_codec_analog    59436  1
arc4                    1676  2
ecb                     2572  2
snd_hda_intel          25928  2
snd_hda_codec          75148  3 snd_hda_codec_atihdmi,snd_hda_codec_analog,snd_hda_intel
fglrx                2038940  0
iwlagn                 90224  0
joydev                 10016  0
ehci_hcd               35096  0
iwlcore               103596  1 iwlagn
snd_hwdep               7056  1 snd_hda_codec
uhci_hcd               22044  0
hp_accel               10284  0
snd_pcm                74096  2 snd_hda_intel,snd_hda_codec
lis3lv02d               8364  1 hp_accel
rfkill                 10608  2 iwlcore
usbcore               149232  8 usbhid,btusb,usb_storage,uvcvideo,usb_libusual,ehci_hcd,uhci_hcd
video                  18304  0
rtc_cmos               10316  0
snd_timer              20788  1 snd_pcm
rtc_core               17608  1 rtc_cmos
snd                    58180  10 snd_hda_codec_analog,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
rtc_lib                 2860  1 rtc_core
sky2                   46096  0
output                  2828  1 video
psmouse                56132  0
mac80211              170504  2 iwlagn,iwlcore
led_class               4112  2 iwlcore,hp_accel
wmi                     6696  0
soundcore               7072  1 snd
intel_agp              26268  0
fan                     4144  0
snd_page_alloc          8852  2 snd_hda_intel,snd_pcm
serio_raw               5296  0
agpgart                34796  3 drm,fglrx,intel_agp
sr_mod                 15556  0
sg                     28640  0
pcspkr                  2316  0
evdev                   9472  11
cdrom                  34752  1 sr_mod
processor              34496  2
container               3308  0
cfg80211               64556  3 iwlagn,iwlcore,mac80211
thermal                12808  0
button                  5244  0
battery                10224  0
ac                      4048  0
ext3                  126868  7
jbd                    46048  1 ext3
mbcache                 7568  2 ext4,ext3
ahci                   32988  8
libata                174732  1 ahci
sd_mod                 34856  14
crc_t10dif              1708  1 sd_mod
scsi_mod              150996  5 usb_storage,sr_mod,sg,libata,sd_mod
[root@Linux ~]#
Списки отличаются.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 373
  • Учиться .... Телепатами не рождаются, ими ....
Сейчас сравнил - если не считать изменения порядка загрузки модулей, то в варианте с USB ещё загружается

crc_itu_t
isofs
udf
ohci_hcd

С usb связан только ohci_hcd