ядро паникует, установка 14.1 на виртуалке

Автор astratek, 08 апреля 2014, 11:59:34

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Graf

А что писано в dmesg по поводу того, как определился контроллер HDD внутри ВМ ?

bormant

astratek,
если правильно понимаю картинки, то в установщике диск и его три раздела видны. Сравните тамошний dmesg с логом загрузки до паники.
Попробуйте загрузить поставленную в ВМ систему при помощи установочного диска сообразно подсказке на первом экране ISOLINUX про
boot: huge.s root=/dev/sda2 rdinit= ro
Покажите из установщика:
# lsmod
# mount /dev/sda2 /mnt
# ls -o /mnt/boot/vmlinuz
# ls -1 /mnt/var/log/packages/kernel-*
или то же самое из системы без mount и /mnt.

Полагаю, тут http://www.linuxquestions.org/questions/slackware-14/slackware-14-1-in-ms-hyper-v-4175486298/ есть ответ (сообщения от CeeWave):
Цитировать
I have recently installed a Slackware64 guest virtual machine in a Windows 8 host with Hyper-V. I ran into similar problems finding the root device when booting either the huge or generic 3.10.17 kernels. I was able to successfully boot the virtual machine, with the stock kernels, by using an initrd image that included the hv_vmbus and hv_storvsc modules. These modules are in addition to any filesystem modules that you would normally require for use when booting with the generic kernel.
рецепт:
Цитировать
This may not be the cleanest method, and I'm recalling the process mostly from memory, but the basic steps I used to fix this was to:

1) Boot off of the installation disc
2) Mount the partition holding the root partition on /mnt, e.g.:

mount -t ext4 /dev/sda1 /mnt

3) Enter an interactive shell with the mounted partition as root directory:

chroot /mnt

4) Change directory to /boot and review the file README.initrd for the official description of the initrd building process and usage. You should also review the man page for the mkinitrd command.
5) Create the initrd.gz image:

mkinitrd -c -f ext4 -r /dev/sda1 -m hv_vmbus:hv_storvsc:mbcache:jbd2:ext4 -u -o /boot/initrd.gz

6) Follow the instructions in /boot/README.initrd to edit /etc/lilo.conf and run lilo to set up and install the boot loader.

If you used a root filesystem other than ext4 or a partition other than /dev/sda1, you'll need to adjust the commands in steps #2 and #5. The hv_vmbus and hv_storvsc modules were the key to getting it working under Hyper-V while the mbcache, jbd2, and ext4 modules were required to use the generic kernel with the ext4 root filesystem. You can also try using the /usr/share/mkinitrd/mkinitrd_command_generator.sh script to automatically generate the command appropriate for you to use in step #5.
и объяснение:
Цитировать
by design or oversight, the Hyper-V support is provided by modules in both the Huge and Generic 3.10.17 kernels.

Huge:

bash-4.2# grep HYPERV /boot/config-huge-3.10.17
CONFIG_HYPERVISOR_GUEST=y
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_HYPERV_STORAGE=m
CONFIG_HYPERV_NET=m
# CONFIG_FB_HYPERV is not set
CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HYPERV=m
CONFIG_HYPERV_UTILS=m
CONFIG_HYPERV_BALLOON=m
and Generic:

bash-4.2# grep HYPERV /boot/config-generic-3.10.17
CONFIG_HYPERVISOR_GUEST=y
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_HYPERV_STORAGE=m
CONFIG_HYPERV_NET=m
# CONFIG_FB_HYPERV is not set
CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HYPERV=m
CONFIG_HYPERV_UTILS=m
CONFIG_HYPERV_BALLOON=m
necessitating the use of an initrd image with either kernel.

Можете затем пересобрать свое ядро, включив необходимое для hyper-v в него (=y) вместо модулей (=m).

astratek

#17
Цитата: bormant от 23 сентября 2015, 00:32:26
astratek,
если правильно понимаю картинки, то в установщике диск и его три раздела видны. Сравните тамошний dmesg с логом загрузки до паники.
Попробуйте загрузить поставленную в ВМ систему при помощи установочного диска сообразно подсказке на первом экране ISOLINUX про
boot: huge.s root=/dev/sda2 rdinit= ro

Покажите из установщика:
# lsmod
# mount /dev/sda2 /mnt
# ls -o /mnt/boot/vmlinuz
# ls -1 /mnt/var/log/packages/kernel-*
или то же самое из системы без mount и /mnt.

результаты






bormant

astratek,
осталось проделать рецепт из остатка сообщения, от слов "Полагаю,"...
Если английский текст непонятен, пишите, переведу.

astratek

после
mount -t ext4 /dev/sda2 /mnt
chroot /mnt
mount -t proc /proc /proc
mkinitrd -c -f ext4 -r /dev/sda2 -m hv_vmbus:hv_storvsc:mbcache:jbd2:ext4 -u -o /boot/initrd.gz
lilo


все заработало, спасибо большое всем!

bormant

Цитата: astratek от 23 сентября 2015, 17:51:07все заработало
... а также после добавления строки "initrd = /boot/initrd.gz" в /etc/lilo.conf после строки с image = ...

Это для тех, кто пойдет по вашим следам.

Так держать!