LinuxForum.Fans
Тема

Установка VirtualBox на Zenwalk 6.4

Автор: RJ_Kaleb 46 сообщений 15490 просмотров
#74410

Надо установить виртуалбокс на зенволк 6.4. Делаю все как тут: [url]sergeyn.blogspot.com/2009/03/virtualbox-slackware-122.html[/url]
Проблема возникает на этапе:


идем в папку с исходниками и делаем следуещие действия:
root@sn:/# cd /usr/src/linux
root@sn:/usr/src/linux# gzip -dc /proc/config.gz > /usr/src/linux/.config
root@sn:/usr/src/linux# make oldconfig && make prepare

У меня выдает вот это:


root[VirtualBox-3.2.8_OSE]# gzip -dc /proc/config.gz > /home/rjkaleb/Downloads/VirtualBox-3.2.8_OSE/.config
gzip: /proc/config.gz: No such file or directory

Как исправить?

#74414

Почему так: текущее ядро собрано без отвечающей за это опции.
В Slackware обычно config укладывается в /boot рядом с ядром, возможно в Zenwalk также, посмотрите.
$ ls /boot/config*

#74657

Да, нашел. Там лежит config-2.6.33.4.
Делаю: gzip -dc /boot/config-2.6.33.4 > /home/rjkaleb/Downloads/VirtualBox-3.2.8_OSE/.config
Выдает: gzip: /boot/config-2.6.33.4: not in gzip format

#74767

"not in gzip format" -- он не сжат gzip-ом. Просто выполните
cat /boot/config-2.6.33.4 > /home/rjkaleb/Downloads/VirtualBox-3.2.8_OSE/.config

Вот только .config обычно нужно укладывать не к исходникам VirtualBox-а, а к исходникам ядра, если я правильно путаю. Нет ли ошибки в инструкции или в её интерпретации?

И вообще, выполняя какую-либо инструкцию, состоящую из последовательности команд, обязательно попытайтесь ДО вставки команды в консоль и нажатия Enter понять, если не "зачем" она, то хотя бы "что она делает".

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

"gzip -dc >" (он же zcat) -- это "-d" -- decompress -- распаковать, "-c" -- console -- выдать результат в стандартный поток вывода (stdout), ">" -- перенаправить stdout в файл (это уже в man bash).

ps. Иначе, не избежать злой шутки, широко растиражированной тут и там в качестве универсального рецепта от всего: "# rm -rf /" -- rm - remove -- удалить, "-r" -- рекурсивно, "-f" -- force -- без подтверждений, "/" -- корневой каталог, итого: удалить всё рекурсивно без подтверждений, начиная от корневого каталога.

wink

#74769

Да, инструкция интерпретирована Вами неправильно:


Для компиляции модулей ядра для работы VirtualBox нам потребуетсятся установить пакеты:
- kernel-headers-2.6.27.7_smp-x86-1 (заголовочные файлы ядра)
- kernel-source-2.6.27.7-smp-noarch-1 (исходники ядра)
...
root@sn:/# cd /usr/src/linux
root@sn:/usr/src/linux# gzip -dc /proc/config.gz > .config
root@sn:/usr/src/linux# make oldconfig && make prepare
#74958

Разобрался, но всё равно не получается.
Установил два пакета: kernelheaders-2.6.33.4-i486-64.1.txz и kernelsource-2.6.35.4-i486-66.1.txz
В /boot лежат два конфига: config и config-2.6.33.4, пробовал с обоими: cat /boot/config-2.6.33.4 > /usr/src/linux-2.6.33.4/.config
Ошибки не выдавало. Также пробовал файл в который копируем называть config-2.6.33.4, тот же результат- ошибки нет!
Но даже после всех этих манипуляций делаю:

text

root[linux-2.6.33.4]# /etc/rc.d/rc.vboxdrv setup 
Stopping VirtualBox kernel module ...done. 
Recompiling VirtualBox kernel module ...failed! 
  (Look at /var/log/vbox-install.log to find out what went wrong) 

Вот собственно, и сам лог:

text

root[linux-2.6.33.4]# cat /var/log/vbox-install.log 
make KBUILD_VERBOSE=1 -C /lib/modules/2.6.33.4/build SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 modules 
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (        \ 
    echo;                                \ 
    echo "  ERROR: Kernel configuration is invalid.";        \ 
    echo "         include/generated/autoconf.h or include/config/auto.conf are missing.";\ 
    echo "         Run 'make oldconfig && make prepare' on kernel src to fix it.";    \ 
    echo;                                \ 
    /bin/false) 
mkdir -p /tmp/vbox.0/.tmp_versions ; rm -f /tmp/vbox.0/.tmp_versions/* 
make -f scripts/Makefile.build obj=/tmp/vbox.0 
  gcc -Wp,-MD,/tmp/vbox.0/linux/.SUPDrv-linux.o.d  -nostdinc -isystem /usr/lib/gcc/i486-slackware-linux/4.4.4/include -I/usr/src/linux-2.6.33.4/arch/x86/include -Iinclude  -include include/generated/autoconf.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Os -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i486 -mtune=generic -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=1024 -fno-stack-protector -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fno-dwarf2-cfi-asm -fconserve-stack -I/lib/modules/2.6.33.4/build/include -I/tmp/vbox.0/ -I/tmp/vbox.0/include -I/tmp/vbox.0/r0drv/linux -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING -DCONFIG_VBOXDRV_AS_MISC -DRT_ARCH_X86 -DVBOX_WITH_64_BITS_GUESTS  -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(SUPDrv_linux)"  -D"KBUILD_MODNAME=KBUILD_STR(vboxdrv)"  -c -o /tmp/vbox.0/linux/SUPDrv-linux.o /tmp/vbox.0/linux/SUPDrv-linux.c 
In file included from /usr/src/linux-2.6.33.4/arch/x86/include/asm/fixmap.h:19, 
                 from /usr/src/linux-2.6.33.4/arch/x86/include/asm/apic.h:13, 
                 from /usr/src/linux-2.6.33.4/arch/x86/include/asm/smp.h:13, 
                 from include/linux/smp.h:36, 
                 from include/linux/topology.h:33, 
                 from include/linux/gfp.h:7, 
                 from include/linux/slab.h:12, 
                 from /tmp/vbox.0/linux/../SUPDrvInternal.h:100, 
                 from /tmp/vbox.0/linux/SUPDrv-linux.c:33: 
/usr/src/linux-2.6.33.4/arch/x86/include/asm/acpi.h:26:28: error: acpi/pdc_intel.h: No such file or directory 
In file included from /usr/src/linux-2.6.33.4/arch/x86/include/asm/fixmap.h:19, 
                 from /usr/src/linux-2.6.33.4/arch/x86/include/asm/apic.h:13, 
                 from /usr/src/linux-2.6.33.4/arch/x86/include/asm/smp.h:13, 
                 from include/linux/smp.h:36, 
                 from include/linux/topology.h:33, 
                 from include/linux/gfp.h:7, 
                 from include/linux/slab.h:12, 
                 from /tmp/vbox.0/linux/../SUPDrvInternal.h:100, 
                 from /tmp/vbox.0/linux/SUPDrv-linux.c:33: 
/usr/src/linux-2.6.33.4/arch/x86/include/asm/acpi.h: In function 'arch_acpi_set_pdc_bits': 
/usr/src/linux-2.6.33.4/arch/x86/include/asm/acpi.h:156: error: 'ACPI_PDC_C_CAPABILITY_SMP' undeclared (first use in this function) 
/usr/src/linux-2.6.33.4/arch/x86/include/asm/acpi.h:156: error: (Each undeclared identifier is reported only once 
/usr/src/linux-2.6.33.4/arch/x86/include/asm/acpi.h:156: error: for each function it appears in.) 
/usr/src/linux-2.6.33.4/arch/x86/include/asm/acpi.h:159: error: 'ACPI_PDC_EST_CAPABILITY_SWSMP' undeclared (first use in this function) 
/usr/src/linux-2.6.33.4/arch/x86/include/asm/acpi.h:162: error: 'ACPI_PDC_T_FFH' undeclared (first use in this function) 
/usr/src/linux-2.6.33.4/arch/x86/include/asm/acpi.h:168: error: 'ACPI_PDC_C_C2C3_FFH' undeclared (first use in this function) 
make[2]: *** [/tmp/vbox.0/linux/SUPDrv-linux.o] Error 1 
make[1]: *** [_module_/tmp/vbox.0] Error 2 
make: *** [vboxdrv] Error 2 
root[linux-2.6.33.4]# 
#74972
RJ.Kaleb написал:
Установил два пакета: kernelheaders-2.6.33.4-i486-64.1.txz и kernelsource-2.6.35.4-i486-66.1.txz

А что это у Вас версии разные?

#74973

Исправил ошибку. Удалил kernelsource-2.6.35.4-i486-66.1.txz поставил kernelsource-2.6.33.4-i486-64.1.txz. Все дальше как написанно в статье, ошибок не выдало. Виртуалбокс всё равно запустить не могу.

#74975

Запускаете от пользователя?
Пользователь добавлен в группу vboxusers?

#74978

Нет. Перегрузился, зашел под рутом во вкладке сайстем главного меню нашел значек виртуалбокс, тыкаю и ничего не происходит.

#74985

Попробуйте запустить из терминала
[console]VBox[/console]
Смотрите что за ошибки.

#74990

Попробовал. bash: VBox: command not found . Еще с помощью pkgtool посмотрел список установленных пакетов, виртуалбокс я там не нашел. Как такое может быть?

#74998

В статье речь о пакете run, а Вы как устанавливали?

#75000

Зашел под рутом, ткнул на ран файл, всё установилось.

#75003

И еще uaname -m показал что у меня проц i686, пакеты я устанавливал i486 а виртуалбокс x86 это ничего?

#75013
RJ.Kaleb написал:
И еще uaname -m показал что у меня проц i686, пакеты я устанавливал i486 а виртуалбокс x86 это ничего?

Всё нормально.

#75017

Только что повторил все пошагово, переустановил, сделал всё как положено. Все равно command not found.
Не пойму в чем проблема.

#75022

[console]which VBox[/console]

#75026

[console]
root[linux-2.6.33.4]# which vbox
which: no vbox in (/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/games/bin)
[/console]

#75034

В Linux важно как Вы пишите команду. Я имею ввиду регистр.
VBox != vbox
Введите в терминале VBox (первые две буквы - заглавные)

Войдите или зарегистрируйтесь, чтобы ответить.