nixp.ru v3.0

19 октября 2017,
четверг,
01:25:56 MSK

DevOps с компанией «Флант»
anonymous написал 20 апреля 2006 года в 12:57 (627 просмотров) Ведет себя неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.

Приветствую.

Сорри если это несколько офтопик.

Ситуация такая: на WinXP установлен vmware workstation 5.0.0 build-13124, в котором крутится Redhat 9.0. Есть две проблемы.

1)DHCP-клиент, поставленный из пакетов, ведет себя странно. При старте (в /etc/sysconfig/network-scripts/ifcfg-eth0 прописан BOOTPROTO=dhcp) адрес не получает, в логах ругань:

ifup: failed; no link present. Check cable?

network: Bringing up interfac eth0: failed

Но запустив клиента ручками — все работает и адрес получаем.

2) что нужно прописать в grub.conf, чтобы появилась возможность грузить ядра по выбору (сами ядра находятся на одном диске и разделе). Сделал следующее

default=0

timeout=10

terminal-console

title LinuxDefault (2.4.20)

root (hd0,0)

kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/ hdc=ide-scsi

initrd /boot/initrd-2.4.20-8.img

title LinuxMine

root (hd0,0)

kernel /boot/vmlinuz-2.4.20 ro root=LABEL=/ hdc=ide-scsi

Гружу свое ядро, получаю kernel panic:

VFS: Cannot open root device «LABEL=/» or 00:00

Какой же правильный root device для vmware»

Что нужно подкрутить?

Большое спасибо!

Genie
Гружу свое ядро, получаю kernel panic:

VFS: Cannot open root device «LABEL=/» or 00:00

пересобрать ядро с включенным в него драйвером твоего ide/scsi-контроллера.

в данном случае — это будет что-то типа Intel PIIX и Bus Logic SCSI.. (или типа того)

ifup: failed; no link present. Check cable?

network: Bringing up interfac eth0: failed

отсутствие модуля сетевой карты вообще или не подгруженность оного на момент инициализации сети. (AMD PCNet Ethernet adapter, что ли..)

хотя, надо смотреть несколько точнее…

Dr. Evil

когда сталкивался с 9.0, то очень часто такие вещи с ядрами творились.

попробуй прописать root=LABEL=/dev/hda* — вставь раздел, на котором у тебя корень

anonymous
Genie
пересобрать ядро с включенным в него драйвером твоего ide/scsi-контроллера.

в данном случае — это будет что-то типа Intel PIIX и Bus Logic SCSI.. (или типа того)

Драйвер присутствует, вот фрагмент dmesg:

Uniform Multi-Platform E-IDE driver Revision: 7.00beta-2.4

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx

PIIX4: IDE controller at PCI slot 00:07.1

PIIX4: chipset revision 1

PIIX4: not 100% native mode: will probe irqs later

ide1: BM-DMA at 0×1478-0×147f, BIOS settings: hdc:DMA, hdd:pio

hdc: VMware Virtual IDE CDROM Drive, ATAPI CD/DVD-ROM drive

ide1 at 0×170-0×177,0×376 on irq 15

отсутствие модуля сетевой карты вообще или не подгруженность оного на момент инициализации сети. (AMD PCNet Ethernet adapter, что ли..)

А вот карточка:

pcnet32.c:v1.27b 01.10.2002 tsbogend@alpha.franken.de

PCI: Found IRQ 10 for device 00:11.0

pcnet32: PCnet/PCI II 79C970A at 0×1080, 00 0c 29 e1 5c 38 assigned IRQ 10.

eth0: registered as PCnet/PCI II 79C970A

pcnet32: 1 cards_found.

anonymous
Dr. Evil
когда сталкивался с 9.0, то очень часто такие вещи с ядрами творились.

попробуй прописать root=LABEL=/dev/hda* — вставь раздел, на котором у тебя корень

Попытка не удалась :)

В info grub нигде не нашел упоминания про LABEL, что это такое? Хотя ведь это параметр ядра, к загрузчику не имеет отношения…

Может быть проблема с initrd, он вообще нужен в реальной жизни? :)

Dr. Evil

вывод команды dmseg ты привел из того ядра, которое удачно заружается. а в том, что падает при загрузке, возможно, этого драйвера нет. посмотри внимательно.

Dr. Evil

если вернуться к первому вопросу…

какая сетевая карта у тебя установлена на компьютере?

мне кажется, что при старте системы у тебя не загружаются необходимые модуои ядра.

поэтому давай посмотрим на lsmod

что ты имел в виду под фразой: Но запустив клиента ручками

кто этот клиент?

anonymous
Dr. Evil
вывод команды dmseg ты привел из того ядра, которое удачно заружается. а в том, что падает при загрузке, возможно, этого драйвера нет. посмотри внимательно.

тот фрагмент как раз из ядра, уходящего в панику (те строки я скопировал из окна vmware в процессе загрузки).

если вернуться к первому вопросу…

какая сетевая карта у тебя установлена на компьютере?

мне кажется, что при старте системы у тебя не загружаются необходимые модуои ядра.

Вообще в системе Asustek/Broadcom 440x встроенная на материнку, но Vmware определяет (или интерпретирует?) ее как pcnet32, и использует соотв. драйвер.

поэтому давай посмотрим на lsmod

что ты имел в виду под фразой: Но запустив клиента ручками

кто этот клиент?

Я имел в виду, что запуская dhcp клиента вручную с ком. строки после входа в систему, vmware успешно получает IP адрес, маску и все остальное. То есть сеть под vmware вполне себе успешно работает и драйвер согласно lsmod загружен.

Dr. Evil

возможно, в VMware есть какой-то баг. попробуй версию посвежее поставить, например 5.5.*

к впоросу о ядре:

смущает меня это — root (hd0,0)

таблицу разделов можешь привести?

еще одна непонятка: может, я так давно не видел RH 9.0, но то, что ты прописываешь опции для загрузки в файл grub.conf, для меня дико.

может, ты покажешь:

$ ll /boot/grub
anonymous
Dr. Evil
возможно, в VMware есть какой-то баг. попробуй версию посвежее поставить, например 5.5.*

к впоросу о ядре:

смущает меня это — root (hd0,0)

таблицу разделов можешь привести?

еще одна непонятка: может, я так давно не видел RH 9.0, но то, что ты прописываешь опции для загрузки в файл grub.conf, для меня дико.

может, ты покажешь:

$ ll /boot/grub

Привет.

Возможно проблема в том, что при утсановке vmware я выбрал тип виртуального диска SCSI, а не IDE, и мне посоветовали установить vmware tools, в которых вроде бы есть для скази контроллеров у VM свой дополнительный драйвер на сайте производителя. Поэтому возможно при инсталяции нестандартного ядра надо каким-то образом подпихнуть этот драйвер ??

Но — как тогда работает дефолтное ядро?

И вообще лучше переставить vmware с IDE…

Вот таблица разделов:

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 616MB 98MB 487MB 17% /

/dev/sda2 2.1GB 34MB 2.0GB 2% /home

none 98MB 0 98MB 0% /dev/shm

/dev/sda6 3.4GB 846MB 2.4GB 27% /usr

/dev/sda3 826MB 34MB 751MB 5% /var

#ls -la /boot/grub

total 216

drwxr-xr-x 2 root root 4096 Apr 21 10:18 .

drwxr-xr-x 3 root root 4096 Apr 20 14:43 ..

-rw-r--r-- 1 root root 82 Mar 4 02:56 device.map

-rw-r--r-- 1 root root 7840 Mar 4 02:56 e2fs_stage1_5

-rw-r--r-- 1 root root 7536 Mar 4 02:56 fat_stage1_5

-rw-r--r-- 1 root root 6880 Mar 4 02:56 ffs_stage1_5

-rw——- 1 root root 736 Apr 21 10:13 grub.conf

-rw-r--r-- 1 root root 8448 Mar 4 02:56 jfs_stage1_5

lrwxrwxrwx 1 root root 11 Mar 4 02:56 menu.lst -> ./grub.conf

-rw-r--r-- 1 root root 7040 Mar 4 02:56 minix_stage1_5

-rw-r--r-- 1 root root 9408 Mar 4 02:56 reiserfs_stage1_5

-rw-r--r-- 1 root root 11050 Feb 25 2003 splash.xpm.gz

-rw-r--r-- 1 root root 512 Mar 4 02:56 stage1

-rw-r--r-- 1 root root 106364 Mar 4 02:56 stage2

-rw-r--r-- 1 root root 6528 Mar 4 02:56 vstafs_stage1_5

-rw-r--r-- 1 root root 9320 Mar 4 02:56 xfs_stage1_5

А что смущает? Ведь это загрузчик, и передавать опции загрузки ядру — вполне штатная его фича, описанная в доке. Возможно, сейчас все поменяли…

Dmitry Ivanov
roman_m7
Вообще в системе Asustek/Broadcom 440x встроенная на материнку, но Vmware определяет (или интерпретирует?) ее как pcnet32, и использует соотв. драйвер.

в виртуальной машине и карта виртуальная. которая ничего общего с твоей системной не имеет.

И вообще, неплохо бы начинать с чтения документации

anonymous
Dmitry Ivanov
в виртуальной машине и карта виртуальная. которая ничего общего с твоей системной не имеет.

И вообще, неплохо бы начинать с чтения документации

Какое разумное зерно я должен вынести из вашего практически бесполезного сообщения?

Dr. Evil

как-то странно у тебя получается…

смотри:

здесь у тебя корень — /dev/sda1 616MB 98MB 487MB 17% /

а в загрузчике — root (hd0,0)

надо как-то определиться…

у тебя ядро не гузится, которое с ситсемой утсановилось, т.е. kernel-default?

Genie
как-то странно у тебя получается…

смотри:

здесь у тебя корень — /dev/sda1 616MB 98MB 487MB 17% /

а в загрузчике — root (hd0,0)

а в чём проблема?

/boot/grub/device.map

(hd0)  /dev/sda

как правило, ошибка

Гружу свое ядро, получаю kernel panic:

VFS: Cannot open root device «LABEL=/» or 00:00

связана только с двумя причинами:

1) нет в ядре контроллера дисков (IDE, SCSI, etc). без initrd они должны быть вкомпилированы в ядро статически.

2) нет в ядре на момент монтирования модуля файловой системы. должно быть статично в ядре без initrd.

других причин для подобной ошибки не имеется.

anonymous
roman_m7
Какое разумное зерно я должен вынести из вашего практически бесполезного сообщения?

1) Что надо читать документацию. У VMWare она очень подробно описывает, как ставить виртуалку и как решать возникающие проблемы.

2) Что не надо впутывать в историю набортный броадком, ибо к vm отношения не имеет.

3) И нефиг приплетать vmware-tools, они для других целей…

4) И что у такой ошибки есть вполне конкретная причина. Есть еще одна, но ее скорее всего можно отбросить.

Если немного подумать — ваша проюлема решается минут за 5-10. Та, которая c dhcp связана. Та, которая с дисками — за минуту + время ребилда ядра.

Dr. Evil
Genie
а в чём проблема?

/boot/grub/device.map

(hd0)  /dev/sda

тогда понятно….

я бы добавил третью:

root=LABEL=/dev/sda1 — только таким образом прописывал бы. у меня ядро без таких опций не хотело грузиться вообще. не смотря на то, что все модули для устройств были.