LINUX.ORG.RU

Как там обстановочка с VirtualBox Guest Additions для OpenBSD

 , ,


0

1

Привет!

Вопрос по сабжу. Дело движется? Или может я чего упустил и они уже есть? Рыбка мне по душе :-) Вот только работать не в полный экран в виртуалке не комильфо. Фряху мучить не хочется, да и что-то не любят ее, образно говоря, на ЛОРе в последнее время. Все больше про опёнка топиков.

Короче, бздюны, ау!!!

★★★★★

никак

Дело движется?

нет

buratino ★★★★★
()
Ответ на: комментарий от fornlr

для FreeBSD вроде бы есть

для NetBSD номинально где-то есть, но по факту в NetBSD много что есть только *номинально*, а реально проверить не смог

buratino ★★★★★
()
Ответ на: комментарий от fornlr

1. есть https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/virtualization-gue...

2. как обычно, хрен что найдёшь, какие-то куски заявлений, размазанные по сетям. если бы в NetBSD относились к документации так же, как к OpenBSD, она была бы на три головы выше OpenBSD, а как есть - это на уровне плинтуса, ибо что-то знают там только её разработчики

buratino ★★★★★
()
Ответ на: комментарий от fornlr

и? а какое оно должно быть? или Oracle собирается делать свой порт для OpenBSD, а потом его самостоятельно поддерживать? :) а Haiku с KolibriOS вам не завернуть?

buratino ★★★★★
()
Ответ на: комментарий от buratino

Хорошо, а запилить сложно?

Т.е. какой там порог вхождения, можно ли имея запас усидчивости и при содействии ЛОРовских сишников чего-то сделать? ;-)

Twissel ★★★★★
() автор топика
Последнее исправление: Twissel (всего исправлений: 1)
Ответ на: комментарий от Twissel

А на буя?

Проще уж в гостевой системе из сосноли работать. А тут и вообще можно запустить виртуалку в headless режиме и так работать из хостовой, подключаюсь к гостевой.

А если уж слишком охота пердольных извращений, то размер экрана можно и ручками сменить на нужный - динамически он меняться не будет при смене экрана, но вряд-ли это так уж нужно.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)
Ответ на: комментарий от Twissel

Хорошо, а запилить сложно?

честно говоря, не знаю. спроси в рассылке.

Т.е. какой там порог вхождения, можно ли имея запас усидчивости и при содействии ЛОРовских сишников чего-то сделать? ;-)

ну, у нас один из активных разработчиков - французский актёр, который когда-то тоже задал такой вопрос, а про C знал только то, что это такой витамин :)

buratino ★★★★★
()

вообще, недавно, не прошло и 10 лет (или прошло, не считал), добавили поддержку для Xen как гостя

http://marc.info/?l=openbsd-cvs&m=145271648304212&w=2

можешь написать ему - судя по фамилии, он и по-русски понимает (хотя я вообще не знаю, кто это, если честно), проконсультироваться

buratino ★★★★★
()
Ответ на: комментарий от Twissel

сам я, при моём разрешении 1366x768, когда мне нужно погонять OpenBSD десктоп, гоняю его в kvm, обычно в окошке 800x600 :) как оно работает в VirtualBox, мне не нравится - использую его разве что для PXE-сервера, ибо в VirtualBox бридж на сеть делается намного проще.

buratino ★★★★★
()
Ответ на: комментарий от fornlr

И где у меня про GUI-режим?

Пони такие пони)))

Twissel ★★★★★
() автор топика

Смотря что именно требуется. Механизм VirtIO, используемый в том числе и VirtualBox, в OpenBSD вполне себе работает. Если хочется именно красивого управления экраном, то, подозреваю, нужно будет и для X что-то делать, и для ядра какой-нибудь DRM-драйвер — вроде бы у FreeBSD уже это всё есть, можно попробовать подпилить напильником их код. Советую сначала изучить всё же самостоятельно вопрос, что где имеется — поглядеть в исходники VirtualBox в том числе, что они хотят от этих самых Additions; если потом останутся вопросы — смело стучаться на tech@.

Насколько реалистично — как показала практика, даже почти безнадёжный студент, если хочет сдать курсовую работу, может что-то понять и родить. :)

anonymous
()
Ответ на: комментарий от Ygor

Не, пока не хочу.

У меня говноленово с гибридной графикой, а на стационарник не хочу тулить.

Но в пуфике явно что-то есть, чуйка меня редко подводит :-)

Twissel ★★★★★
() автор топика
Последнее исправление: Twissel (всего исправлений: 1)
Ответ на: комментарий от buratino

Исходник DRM-модуля для фряхи. Вроде бы все просто.

/* $Id: vboxvideo_drm.c $ */
/** @file
 * VirtualBox Guest Additions - vboxvideo DRM module.
 * FreeBSD kernel OpenGL module.
 */

/*
 * Copyright (C) 2006-2016 Oracle Corporation
 *
 * This file is part of VirtualBox Open Source Edition (OSE), as
 * available from http://www.virtualbox.org. This file is free software;
 * you can redistribute it and/or modify it under the terms of the GNU
 * General Public License (GPL) as published by the Free Software
 * Foundation, in version 2 as it comes in the "COPYING" file of the
 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
 * --------------------------------------------------------------------
 *
 * This code is based on:
 *
 * tdfx_drv.c -- tdfx driver -*- linux-c -*-
 * Created: Thu Oct  7 10:38:32 1999 by faith@precisioninsight.com
 *
 * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
 * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
 * All Rights Reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice (including the next
 * paragraph) shall be included in all copies or substantial portions of the
 * Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 * DEALINGS IN THE SOFTWARE.
 *
 * Authors:
 *    Rickard E. (Rik) Faith <faith@valinux.com>
 *    Daryll Strauss <daryll@valinux.com>
 *    Gareth Hughes <gareth@valinux.com>
 *
 */

#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");

#include "dev/drm/drmP.h"
#include "dev/drm/drm_pciids.h"

#define DRIVER_AUTHOR                   "Oracle Corporation"
#define DRIVER_NAME                     "vboxvideo"
#define DRIVER_DESC                     "VirtualBox DRM"
#define DRIVER_DATE                     "20090317"
#define DRIVER_MAJOR                    1
#define DRIVER_MINOR                    0
#define DRIVER_PATCHLEVEL               0

/** @todo Take PCI IDs from VBox/param.h; VBOX_VESA_VENDORID,
 *        VBOX_VESA_DEVICEID. */
#define vboxvideo_PCI_IDS           { 0x80ee, 0xbeef, 0, "VirtualBox Video" }, \
                                    { 0, 0, 0, NULL }

static drm_pci_id_list_t vboxvideo_pciidlist[] = {
	vboxvideo_PCI_IDS
};

static void vboxvideo_configure(struct drm_device *dev)
{
#if __FreeBSD_version >= 702000
	dev->driver->buf_priv_size	= 1; /* No dev_priv */

	dev->driver->max_ioctl		= 0;

	dev->driver->name		= DRIVER_NAME;
	dev->driver->desc		= DRIVER_DESC;
	dev->driver->date		= DRIVER_DATE;
	dev->driver->major		= DRIVER_MAJOR;
	dev->driver->minor		= DRIVER_MINOR;
	dev->driver->patchlevel		= DRIVER_PATCHLEVEL;
#else
	dev->driver.buf_priv_size	= 1; /* No dev_priv */

	dev->driver.max_ioctl		= 0;

	dev->driver.name		= DRIVER_NAME;
	dev->driver.desc		= DRIVER_DESC;
	dev->driver.date		= DRIVER_DATE;
	dev->driver.major		= DRIVER_MAJOR;
	dev->driver.minor		= DRIVER_MINOR;
	dev->driver.patchlevel		= DRIVER_PATCHLEVEL;
#endif
}

static int
vboxvideo_probe(device_t kdev)
{
	return drm_probe(kdev, vboxvideo_pciidlist);
}

static int
vboxvideo_attach(device_t kdev)
{
	struct drm_device *dev = device_get_softc(kdev);

#if __FreeBSD_version >= 702000
	dev->driver = malloc(sizeof(struct drm_driver_info), DRM_MEM_DRIVER,
	    M_WAITOK | M_ZERO);
#else
	bzero(&dev->driver, sizeof(struct drm_driver_info));
#endif

	vboxvideo_configure(dev);

	return drm_attach(kdev, vboxvideo_pciidlist);
}

static int
vboxvideo_detach(device_t kdev)
{
	struct drm_device *dev = device_get_softc(kdev);
	int ret;

	ret = drm_detach(kdev);

#if __FreeBSD_version >= 702000
	free(dev->driver, DRM_MEM_DRIVER);
#endif

	return ret;
}

static device_method_t vboxvideo_methods[] = {
	/* Device interface */
	DEVMETHOD(device_probe,		vboxvideo_probe),
	DEVMETHOD(device_attach,	vboxvideo_attach),
	DEVMETHOD(device_detach,	vboxvideo_detach),

	{ 0, 0 }
};

static driver_t vboxvideo_driver = {
	"drm",
	vboxvideo_methods,
	sizeof(struct drm_device)
};

extern devclass_t drm_devclass;
#if __FreeBSD_version >= 700010
DRIVER_MODULE(vboxvideo, vgapci, vboxvideo_driver, drm_devclass, 0, 0);
#else
DRIVER_MODULE(vboxvideo, pci, vboxvideo_driver, drm_devclass, 0, 0);
#endif
MODULE_DEPEND(vboxvideo, drm, 1, 1, 1);

Что скажешь?

Twissel ★★★★★
() автор топика
Ответ на: комментарий от buratino

Я, конечно, в сишке профан, но все равно попробую.

Пока все равно период отпусков, в смысле работы немного.

Может дать линк на доку для разработчиков, а то самому искать лень ;-)

Twissel ★★★★★
() автор топика
Последнее исправление: Twissel (всего исправлений: 1)
Ответ на: комментарий от buratino

Ну, как я это понимаю, хотя бы краткое описание того, какое API к ядру.

Системные вызовы там, все дела... :-)

Twissel ★★★★★
() автор топика
Ответ на: комментарий от buratino

Михаил довольно быренько отписал и даже прислал патч на проверку :-)

У меня к тебе другой вопрос «Как пропатчить KDE 3 под OpenBSD»

Как собирать ядро?

Twissel ★★★★★
() автор топика
Ответ на: комментарий от buratino

Пытаюсь собрать ведро с Мишиным патчем.

LLVM поставил, т.е. clang присутствует.

Но, не подскажешь, что может значить ошибки:

cc1: error:  unrecognize command line option -m-save-args
cc1: error:  unrecognize command line option -Wno-address-of-packed-member
cc1: error:  unrecognize command line option -Wno-constant-conversion

Полагаю, что не перенастроил систему сборки на шланг, а там мало ли...

Twissel ★★★★★
() автор топика
Ответ на: комментарий от Twissel

если почтовые рассылки не убивают тебя так, как убивают меня - можно спросить там

есть ещё irc-канал #openbsd на freenode

buratino ★★★★★
()
Ответ на: комментарий от Twissel

Т.е. вот так

cc1: error:  unrecognized command line option -m-save-args
cc1: error:  unrecognized command line option -Wno-address-of-packed-member
cc1: error:  unrecognized command line option -Wno-constant-conversion
Twissel ★★★★★
() автор топика
Ответ на: комментарий от buratino

Проофтоплю.

Можно ли динамически увеличить размер раздела /usr/src без потери данных?

Первоначальная разметка была сделана через disklabel

Twissel ★★★★★
() автор топика
Ответ на: комментарий от Twissel

с тех пор, как однажды не хватило инодов - не выделяю /usr/src. и даже дебильные треования на отдельный раздел с /usr/dest удовлетворяю либо mfs, либо vnd-файлом.

buratino ★★★★★
()

Если только full screen, то в VirtualBox можно кастомное VESA разрешение добавлять:

VBoxManage setextradata "VM name" "CustomVideoMode1" "1400x1050x16"
Не пробовал с OpenBSD, но с Hurd'ом сработало (xorg.conf пришлось дописать).

P.S. О, даже страничка есть, в разделе VirtualBox (Making your system full screen).

dtrace
()
Ответ на: комментарий от dtrace

Спасибо. Хоть я уже и заморочился «ядерной физикой», но все равно возьму на заметку.

Twissel ★★★★★
() автор топика
Ответ на: комментарий от buratino

Ирка помогла)

Это я олень: пытаюсь собрать накатить current-ядро на stable ветку дистрибутива. Вот же ж шляпа!

Twissel ★★★★★
() автор топика
Ответ на: комментарий от dtrace

Не, фигня получается. У меня оно просто берет максимальное разрешение, которое ему может выдать vesa-драйвер. Т.е. 1280*1024, а это, понятное дело совсем не то, что разрешение лэптопа, стандартное 1366*768. Не пошло.

Twissel ★★★★★
() автор топика
Ответ на: комментарий от dtrace

Конечно, но разрешение, которое проставлено там игнорируется.

По теме, ядрённый drm-модуль virtualbox Михаил Белопухов пропатчил, теперь вот думаю, что делать: читать маны по wsconsole и заводить wsfb или искать как собрать иксам драйвер vboxvideo

Twissel ★★★★★
() автор топика
Ответ на: комментарий от Twissel

Антошка

правда, так я и не понял, в чём именно он актёрствовал - в интернете не нашёл

buratino ★★★★★
()
Ответ на: комментарий от dtrace

в первом была 32, а иксах — 16. Так как при 32 в конфиге падают иксы, а при 16 в VBoxManage экран, что называется перекособоченный по диагонали.

Я пока снес всю эту байду. Поставлю пока фряху. Простите меня опёночки)))

Twissel ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.