Virtualization

共 9 篇文章。

用 BHyVe 虚拟机解决 FreeBSD Wi-Fi 驱动的问题

• Kernel

BHyVe

https://www.FreeBSD.org/ 10.0-RELEASE 起,系统提供了一个最早由 NetApp开发的使用处理器提供的虚拟化硬件支持 (目前是 Intel VT 和 AMD-V;针对 ARM 平台的支持也在 https://reviews.freebsd.org/D26976)的虚拟化环境 https://wiki.freebsd.org/bhyve,这套虚拟化环境可以运行支持 VirtIO规范的各种操作系统,并提供了 UEFI 支持。

阅读全文… ( 本文约 1153 字,阅读大致需要 3 分钟 )

多年以前搞的 8086 实模式模拟器竟然又派上了用场

• Kernel

最近张师傅在折腾一个模拟器,在感慨他老人家的工作不饱和之余,我向他隆重介绍了我多年前埋到 FreeBSD 里的 x86模拟器。

这些代码我自己已经多年没有碰过了,后续也有一些其他开发人员在其上做了新的改进(比如没必要真的分配那么多内存给模拟器,等等)。不过这份来自 SciTech Software Inc (是的,就是 DOS 时代写 UniVBE.exe 的那个公司),后来辗转经过 XFree86、NetBSD 最终来到 FreeBSD 的模拟器的主体部分还是没有什么变化,稍微改一改就可以直接作为一个新的模拟器的基础了。由于不依赖 VM86,它的可移植性要比需要 VM86 的要好很多。从调试方面,由于它的结构,只需要在 x86emu_exec_* 设置断点就可以很容易地在用户态挂调试器进行调试了。

参与评论

Google Compute Engine

• Development

📜 历史文件已不具备现实意义

本文描述的是当时的 Google Compute Engine 行为,并未随时代更新,内容已过时。

初步尝试了一下 Google Compute Engine(G社类似 Amazon EC2的产品,基于 Linux/KVM)。确认 FreeBSD 可用(在家里用qemu建一个image出来,装好,然后打包扔到 Google 的系统上,然后用这个包建一个image,再用image起个instance)。

阅读全文… ( 本文约 1090 字,阅读大致需要 3 分钟 )

MeetBSD CA 2012流水账

• Development

昨天是会前的开发人员峰会,参加的人基本都是 src/ committer。我参加的讨论是 安装、虚拟化和存储。关于安装程序,目前基本的共识是 bsdinstall 需要重做(基本上 bsdinstall 是个 drive-by commit,作者现在态度是管杀不管埋,bug很多),而先前 Devin Teske 所做的 bsdconfig (目前未接入 world 联编,试了一下太 XX 复杂和强大了)和 DruidBSD 有很多东西可以添到安装程序中,而一票 committer 也已经为他撑腰,所以应该问题不会太大。

阅读全文… ( 本文约 972 字,阅读大致需要 2 分钟 )

模拟实模式x86 CPU

• Kernel

前一段时间commit了来自XFree86 -> NetBSD -> OpenBSD的x86emu,这是一个大约9千行C代码的x86实模式CPU模拟器。

由于 amd64/EM64T “long mode” 不支持先前 x86 保护模式中的 “vm86” 扩展(虚拟实模式环境),因此,这个模拟器使得 FreeBSD 能够在 amd64(EM64T) 平台上支持 vesa、dpms 等功能了。

阅读全文… ( 本文约 589 字,阅读大致需要 2 分钟 )

让多个 FreeBSD jail 共享同一套 MTA

• Security

FreeBSD 从 4.0 版本开始提供了非常强大的虚拟化工具—-jail。对于许多应用来说,jail能够在确保应用程序之间的有效隔离的前提下,最大限度地发挥硬件性能(每个jail不会单独运行自己的内核),而在 jail 内部看来,则基本上与真正的服务器无异,且性能损失很小;通过内核提供的 ABI 模拟,jail能够提供 FreeBSD 早期版本,以及 Linux 2.4.x 或 2.6.x 的兼容能力。

许多传统的 Unix 应用程序假定系统中存在一个可用的 MTA。FreeBSD 中内建了 sendmail,但在 jail 中配置 sendmail 会遇到一个比较麻烦的问题,即在 jail 中,127.0.0.1 指代的是 jail 的 IP 地址而不是本地 loopback 设备。换言之,原本监听本地 socket 的 MTA 变成了监听 jail 对外的 IP,这会是一个安全隐患。

阅读全文… ( 本文约 499 字,阅读大致需要 1 分钟 )

init(8) in jails?

• Kernel

Dag-Erling Smørgrav has posted a discussion on FreeBSD-arch (I have to use a outside link instead of FreeBSD’s own mailing list archive, because it didn’t updated from 2004-01-26 for unknown reason), accroding to this post, we see a need of running init(8) in jails, which allows us to terminate a jail cleanly.

阅读全文… ( 本文约 135 字,阅读大致需要 1 分钟 )