FreeBSD 10.0 Alpha 1 now available
lists.freebsd.org
lists.freebsd.org
Not to mention virtio support and bhyve[3] (in addition to the old jail subsystem). If everything makes it in, there will be so many different options for service isolation!
--
[1] https://wiki.freebsd.org/WhatsNew/FreeBSD10
[2] http://7he.at/freebsd/vps/
[3] https://wiki.freebsd.org/action/show/bhyve?action=show&redir...
virio will be huge.
- drop GCC for CLANG.
- introduce VPS (more virtualised approach to jails)
- introduce bhyve (native hypervisor on common standards)
- replace BIND
- Can be run on raspberry pi
- major speed ups in SMP, and networking
FreeBSD Is taking a fairly big leap forward in its sweet spot of the workhorse of the data farm. BSD has always had great jails virtualisation support (it's what LXC or docker is following) but now that's being expanded and complemented with the run-another-OS-on-my-host-OS of "virtio" style VMs
Raspberry pi of course is what the world has been waiting for - never mind all the rest :-)
edit: tidy ups
[1]: http://lists.freebsd.org/pipermail/freebsd-xen/2013-June/001...
[2]: http://wiki.xen.org/wiki/Testing_FreeBSD_PVHVM
it looks like I'm going to get saltstack working with VpS and keep with Rackspace :-)
It's a chicken/egg problem -- Amazon won't be motivated to implement additional support for FreeBSD without more people asking for it, but the additional visibility FreeBSD would gain from better support on AWS (and/or Azure) would definitely increase the number of people using it. It seems like FreeBSD has seen an upswing in interest over the past couple of years, and if interest keeps growing I think it'd eventually hit some threshold where Amazon is willing to implement better support for FreeBSD and then put some marketing behind it.
On FreeBSD + saltstack: I saw an interesting article a few weeks back (on the saltstack website, no less) about them implementing better support for FreeBSD, specifically w.r.t. jails:
http://intothesaltmine.org/blog/html/2013/08/30/bootstrappin...
edit: we're about to launch pfSense on EC2, too.
The only "lack of support" which concerns me is the fact that on older EC2 instance types HVM (which FreeBSD uses) is only available by paying for a Windows license. I wouldn't want Amazon to start publishing their own "FreeBSD" images -- those should be provided by the project.
You're far more knowledgeable than I (or pretty much anyone else!) about building FreeBSD AMIs, so if you say they should be provided directly by the project, I'm happy to go with that. I would just like to see 'FreeBSD' appear as a "mainstream" option when choosing the OS for a new EC2 instance. (See gonzo's link -- the dialog shown in the picture has 15 Linux distributions available; it'd be nice for FreeBSD to be on that menu.)
Will the licensing issue for the smaller AMIs go away once the PVHVM drivers are fully implemented? I don't know a whole lot about Xen, so I'm curious to know what needs to be implemented to fix that problem.
That is now fixed in the AWS Marketplace -- although the only AMIs in the marketplace running FreeBSD are my FreeBSD image and Citrix's NetScaler and CloudBridge products.
Will the licensing issue for the smaller AMIs go away once the PVHVM drivers are fully implemented?
No, PVHVM is still a variety of HVM, and on the old instance types that's only available with a "Windows" label attached.
If you have a question about a specific ZFS feature, drop by the FreeBSD forums (http://forums.freebsd.org) and ask; the FreeBSD community is generally quite friendly and I'm sure you'll get a good answer to your question.
For general information about FreeBSD + ZFS, check out these links:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/fi...
Sys V drivers conforming to the STREAMS model were supposed to be portable between Unix variants, but STREAMS never catched on, neither Linux nor BSDs use STREAMS, and BSDs only have minimal STREAMS support for the SVR4 compatibility layer. Solaris has STREAMS, but has rewritten many drivers not to use the, e.g. the networking stack has been rewritten from being STREAM-based (now it's called Fire Engine).
It's generally easier to port BSD drivers to Solaris, then it is to port BSD drivers to Linux.
Is both "camps" just similar fanatic regarding licensing, similar pragmatic, or is it a natural distinct difference when talking about licenses, and when picking software licensed under one of the two types?
Of course there is. When I write some software project, of course I want it to be under a specific license, for example BSD. If I chose a BSD license I can't accept GPL patches because that means I can't chose what license I distribute my own software, I have to make it GPL.
As the author, I don't mind if GPL or commercial entities import my software. I am very happy if they do that, I want them to have the freedom to do so. However, I most certainly don't want myself to be forced to change my own license because I import some code. Then, I won't be able to give the freedom of choosing the way they use my software to other people anymore.
But okay, lets go with the distributions desire to chose what license to use. Who cares about the license? The whole point of pragmatism winning over idealism is to achieve a set of practical effects, regardless lofty concept such as "freedom of choosing license".
A distribution is most effective when it can use the best software as much as it can. This mean that a pragmatic distribution should use any software, be that proprietary, GPL, permissive, anything, so long it is superior. A pragmatic approach to license issues would be to have built in tools to slim down the distribution to reach specific practical effects depending on the need of each individual users.
Surely, giving people working graphic drivers is more pragmatic than giving people nothing and say "the software that give your practical use from your hardware is under the wrong license".
BSDs are pragmatic in that they don't restrict their users in their usage of the provided code. That's how Cisco's IOS and Juniper's Junos can exist.
The BSD ports contain many GPL software and non-GPL software (including closed source graphics drivers) that you can install on your own. They are not part of the base operating system.
The parent post talked about porting hardware drivers from Linux to BSD kernel. The BSD project decide against it, citing the license as reasons. As a result, BSD users goes without because the drivers are not of the right license.
Pragmatism: Based on practical uses and successes rather than in terms of believing.
Idealism: Mentally constructed ideas on how things ought to be best. Its priorities what it believes over practical gain.
Deciding against practical gain because of an mentally constructed idea is Idealism over Pragmatism.
You are trying to decide for those "few" people that they are better off without working drivers. Maybe some people do like having working graphic cards or working sound. It takes a quite fundamental approach to ignore practical use over idealism present in a license text.
Not that this discussion matter much... FreeBSD has a linux compatibility layer, which mean they can often run said GPL drivers through its port system. Its only with the base system that useful drivers get thrown out with the bath water in favor of license purity.
No, it doesn't work like that. You can't make driver X in the kernel GPL without making the whole kernel code GPL.
> You are trying to decide for those "few" people that they are better off without working drivers. Maybe some people do like having working graphic cards or working sound.
Aside from the fact that sound works better in FreeBSD compared to Linux (because of OSS4) and that graphics is at least on par with Linux (or better; the proprietary FreeBSD driver continues to work without recompiling the kernel shim every time the kernel is updated), you are completely missing the point. Some guy who complains on the Internet that FreeBSD doesn't work on his laptop is of no value to FreeBSD. Valuable users are those who contribute code, those who run large installations, and those who use the code to build their products. These always take priority and every decision happens with them in mind, not random dudes on the Internet. You're complaining about sound and graphics? I'm having a hard time believing this is a serious discussion, why not complain about the lack of sound and graphics on a PIC32 microcontroller.
> FreeBSD has a linux compatibility layer, which mean they can often run said GPL drivers through its port system.
No, this is impossible. Linuxemu is a compatibility layer for Linux user-mode binaries. It emulates the Linux system call interface. It cannot be used with Linux drivers. As mentioned above, the driver model is very different between different operating systems.
That is factually wrong. You are perfectly fine in keeping the rest of the kernel under BSD. GPL only prevents added restrictions from being added to the GPL code itself, or the combined work. If users downstream remove said code, then it would not be a combined work anymore.
See: http://stackoverflow.com/questions/4854519/gpl-component-in-...
Or this almost 2 year old answer on HN: https://news.ycombinator.com/item?id=4359524
> Linuxemu is a compatibility layer for Linux user-mode binaries. It emulates the Linux system call interface. It cannot be used with Linux drivers.
Quoting Luigi Rizzo:
I decided to start working on an emulation layer that would let
us recompile the linux source code on FreeBSD, and provide a
sufficiently complete emulation of the kernel APIs so that
device drivers (or at least certain classes) could be used
without modifications to their source code.
-> http://info.iet.unipi.it/~luigi/freebsd/linux_bsd_kld.htmlThat answer is factually wrong.
Did you even bother reading the sources you cited or ever read the GPL? The first couple links side with the OP and the third doesn't address the OP's point.
> BSD doesn't need to "relicense" anything as the license to the existing code already permits combining with the GPL.
I don't see how it can be made any more clear. If you remove the GPL code, it no longer need to be under GPL. Did you bother to read the sources, and do you have any sources to support your clearly false claims?
The third link was about the linux emulation laying being used to including linux drivers into freebsd through the port system. You said it was impossible, yet they did it. The impossible happened, and is/was used for USB support particularly.
> GPL only prevents added restrictions from being added to the GPL code itself, or the combined work. If users downstream remove said code, then it would not be a combined work anymore.
Perhaps you should read your own work before replying.
> You said it was impossible, yet they did it.
O'rly? Where was that?
Perhaps you should read your own words before replying.
>> You said it was impossible, yet they did it.
> O'rly?
>>>> No, this is impossible. Linuxemu is a compatibility layer for Linux user-mode binaries. It emulates the Linux system call interface. It cannot be used with Linux drivers.
>>> emulation layer ... provide a sufficiently complete emulation of the kernel APIs so that device drivers could be used.
> Where was that?
Perhaps you should read your own words before replying.
>> Where was that? > https://news.ycombinator.com/item?id=6426384
No, someone else may have said it, I didn't. Please quit misattributing words to me.
As for linux compatibility, the provided link has nothing, nothing whatsoever with linuxemu, the Linux API compatibility layer provided by the FreeBSD base system. I won't bother anymore, as by reading his post history it's obvious he mixes BSD technology and terminology because he is completely unfamiliar with the concepts he speaks about.
Intel Graphics work great (wiki.freebsd.org/Intel_GPU) I have great wireless support for my Intel Centrino 6235
Ports also provides all the applications I could ever need (Emacs, Vim, FireFox, Chromium, SBCL, Chicken, MPD etc..)
I really love running FreeBSD on my laptop, I am a big tinkerer and this is the first time I have gotten a setup that feels right
seriously want a write up?
- suspend/resume - power consumption/battery life - multiple monitor support - wifi drivers - etc.
Does anyone have some experience with these (and other) points and would like to comment?
Hopefully the suspend/resume issue will be rectified in 10.0.
I haven't tried FreeBSD on my new laptop yet, as it is equipped with the BCM 4313 Wireless adaptor, and I'm not ready to fool with that just yet...
I keep meaning to switch back to FreeBSD, actually. This alpha may prompt me to give it a shot.
The problem with implementing a similar-but-different kernel API is that you've either got to persuade qemu to implement your API as well as KVM, or you have to rewrite the whole of qemu (a massive job).
Pure programming is great and I've no problem if FreeBSD wants to take years and implement something fantastic.
[1] Other people seem to agree with this as they were willing to use Xen before the advent of CPUs which offered hardware assisted virtualization. Xen required a special paravirtualized Linux kernel and people had no problem with this.
[2] In my experience people who want to run Windows use Hyper-V or VMware, not Xen/KVM.
People do want to run Windows. More importantly (to me) they want to extend the useful life of ancient Linux distros (usually for software certification reasons) which no longer run on real hardware but could run indefinitely in a VM. For both of those you do need to emulate real hardware.
Second point is if you take it to the logical conclusion, a simple Unix process is the ideal VM: lightweight, secure, well-defined ABI to the OS. From that point of view, jails/cgroups/LXC/seccomp are likely to be even better than your hypothetical ideal-but-doesn't-work-in-the-real-world hypervisor.
Or to put it another way: If you define the goal as "want to run only a mix of recent Linux and FreeBSD guests which happen to have modern but slightly different kernels from the host", then BHyve is certainly the hypervisor for you (except for all the other hypervisors which are battle-tested and have had years of performance improvements, massive community and loads of documentation). If your requirements are even slightly different from that, then you'd be better off with KVM or LXC.
Can it do live migrations and failovers like xen/kvm?
What can it do that kvm/xen can't? What about vice versa?
In all other respects, it's still in its infancy and I wouldn't expect KVM parity for common use cases until the next release. I'm more excited about the VIMAGE stuff in 10.
For the ISO mirrors, I don't think there's anything automatic, you have to manually run sha256 on the file and compare checksums. Do Linux distributions have another way?
I really like ports - as much for the knowledge that I have all the right header files.
It makes sense to sign packages, but not ports. Ports do contain checksum files though, to make sure the source tarball/zip you download hasn't been changed -- this is what 'gaadd33' was referring to.
The portsnap client has hash of the signing public key (in /etc/portsnap.conf, where it was placed during the install process) and uses that to check the validity of the bits it downloads from a portsnap mirror.
http://info.iet.unipi.it/~luigi/netmap/
I'm curious to see what kind of performance is possible with FreeBSD 10 (using `netmap`) and the new I/O manager which will be included in the upcoming GHC 7.8 release. The combination seems like it would be epic in terms of web server performance, and it might be a nice choice for web hosting companies / CDNs who have a vested interest in reducing latency as much as possible.