FreeBSD 10.3
lists.freebsd.org
lists.freebsd.org
I suppose when windows caught up Bash on Windows, FreeBSD needed to do something to keep one step ahead =].
What does 1:1 threading mean?
Threads created by the user in a 1:1 correspondence with schedulable entities in the kernel[10] are the simplest possible threading implementation. OS/2 and Win32 used this approach from the start, while on Linux the usual C library implements this approach (via the NPTL or older LinuxThreads). This approach is also used by Solaris, NetBSD, FreeBSD, OS X, and iOS.
http://www.onlamp.com/pub/a/onlamp/2002/11/07/linux_threads....
"Relatively recently" would be Solaris 8, in 2000.
* 1:1, where each userland thread maps directly to a kernel thread
* 1:N, where several userland threads map directly to one kernel thread
* M:N, where the kernel maintains a pool of threads and dispatches userland threads to them
History has shown that 1:1 threading has the best trade offs. It's worth more independent research if you are interested in Operating Systems.
So, if your application requires newer kernel interfaces that were introduced in 3.x or 4.x, it will not work.
Those 5'ish weeks was simply not enough time to get such a major addition sufficiently settled down for inclusion in the stable release branch. As such, it is now part of 10.3R.
I think we probably should have ripped the bandaid off, and started supporting 64-bit Linux binaries much earlier on FreeBSD/amd64
Judging from some previous Facebook post, it is likely Whatsapp will be moving to linux based as well instead of on FreeBSD. Yahoo used to be a FreeBSD shop, but Marisa Mayer has since converted all to Linux. Microsoft had some FreeBSD long ago but has since converted all to Windows or Linux. The only FreeBSD on Netflix are their Open Connect Appliance, their main AWS instances, which is the majority of their servers are all Linux. Both Cisco and Juniper are using less FreeBSD as we speak. Even Apple, with many parts of their OS based on FreeBSD, are using Linux for iCloud as well.
So who is using BSD?
Honest question though: Does the popularity of an OS really tell us anything useful? I often use the "if it's popular, it's probably good" metric, but I know I am just being lazy...
As a curiosity, knowing the "rank" of an OS is interesting, but if I am making any important decisions, I research the OS myself, hopefully disregarding outside influences.
1. Mostly from people who've hacked it; https://cturt.github.io/ps4.html seems to suggest it's a relatively stock FreeBSD kernel with some added system calls and a possibly heavily modified NetBSD userland.
2. http://phys.org/news/2010-12-air-playstation-3s-supercompute...
Netflix is doing 100Gbit HTTP and > 60Gbit HTTPS on a single socket Xeon E5 with FreeBSD. These servers are about 1/3 North American Internet by volume. In comparison to OCA team their AWS team sounds like a total tire fire to me in terms of engineer count and monthly spend.
I run the OS team at Limelight Networks, one of the largest CDNs. We can peak beyond 10Tbit/s on our current network and have to deal with a more demanding/unknown workload compared to NF OCA. This is all courtesy of FreeBSD. My entire management chain agrees that the cost of entry is lower to influencing and driving development in FreeBSD vs other kernels, and we collaborate with the other well known players on projects that are mutually beneficial such as TCP and filesystems.
Companies switching from FreeBSD to Linux usually are victim of the decision from bad VP-level management looking for a scapegoat rather than solving actual business and culture problems. Yahoo began transitioning to RHEL in 2005 and AFAIK are still at least two years from conceivably being off of FreeBSD. A 12 year _free_ OS transition is an embarrassing use of engineering effort and total management failure.
There are a lot of companies satisfied with FreeBSD, especially in the appliance space and small business, but they are not vocal because it just works and is often rebranded.
"My entire management chain agrees that the cost of entry is lower to influencing and driving development in FreeBSD vs other kernels [...]"
Is that simply a reflection of the smaller size of the FreeBSD project or does it stem from the 'tight core' model where the kernel and base system are co-developed?
Facebook advertised "write your own ticket" not so long ago for Linux kernel developers. You are guaranteed to be going up against Google if you want Linux kernel talent that has significant influence. Xref Dan Luu's http://danluu.com/startup-tradeoffs/ and multiply by 2 to see how much that will cost you. This kind of thing even lures ardent FreeBSD people away, for instance Justin Gibbs, President and Founder of The FreeBSD Foundation currently works at Facebook.. there are many other BSD people stuck in the Borg too.
Aside from that, the tight core and stable ABIs and KPIs are much nicer to base things like an appliance off of that may have a long development and longer support lifecycle on. I do some firmware hacking and analysis sometimes for fun, and Linux firmware are always abhorrent in terms of security, quality, license compliance. IBM's disk storage subsystems as one example. I really can't fathom why anyone would base a closed source product on Linux other than wanton incompetence, and I'm not throwing that with tongue in cheek nor lightheartedly.
(I have a view here, but I don't want to bias your response one way or another).
Edit: Went digging. Here's the link: https://lists.freebsd.org/pipermail/freebsd-announce/2015-Fe...
It's for ABI compatibility.
It certainly adds a certain amount of certainty to the planning process. Right now, I'm running off 11.0-CURRENT in preparation for a deployment or around August 2016, which gives me certainty of support until mid-2021.
Off-Topic: No idea why Limelight fell off my CDN radar long time ago, ( I got focused on EdgeCast instead ), since Limelight seems not want to list their price in /GB pricing ( Likely an Enterprise Only Strategy ), any chance for a different sub brand that offer something similar to CDN in pay per use cases?
I think that specific presentation would answer a lot of OPs questions, probably faster and more accurately than a web discussion board. I got a lot of good ideas from that presentation about freebsd deployment at my workplace. Specifically I seem to recall something along the lines of, its 2016 so start using zabbix instead of nagios, which was pretty good advice, or at least its been interesting to experiment with so far.
I'd extend the remarks from the presentation that much as its possible to write Perl in any language, its possible to do everything linux-style but with a freebsd kernel, whereas the real benefits grow when things start smelling more freebsd-ish and less linux-ish. For example the *bsds are much closer to the proven successful unix philosophy of architecture and design, whereas the linuxes in general have been slowly generally moving away from that successful architecture.
I'd throw out a semi-dissenting opinion that freebsd use is much like whiteboard algo interview questions... even if it has nothing to do with the job or problem, the folks who can do it, are of a class above the folks who can't, so naturally the average freebsd admin being considerably more inherently skilled than the average linux admin results in freebsd deployments requiring 1/10th the number of sysadmin-hours etc etc. There are actual technical improvements and architectural benefits to freebsd, but the main contributor of the often reported 10x benefit to freebsd is the skill, experience, and raw horsepower of the generally superior users. If freebsd were as popular as linux, that would disappear and freebsd users would only be maybe 2x as productive as linux instead of the existing 10x figures. Naturally the guy writing a playbook for ansible will be much more productive than the guy trying to use the gnome GUI to do sysadmin-ish stuff, but there's nothing inherently bsd-ish or linux-ish about it.
(edited to add, yes, i336_, that is exactly the video I recommend)
Video part 1: https://www.youtube.com/watch?v=4l2rlRjkGhk
Video part 2: https://www.youtube.com/watch?v=K1-ZyiY5z48
The above two videos cued up in a giant "BSDCan" playlist, as linked from the first page: https://www.youtube.com/watch?v=4l2rlRjkGhk&list=PLWW0CjV-Ta...
Have any idea how many cores and what kind of network hardware they use push those impressive figures? I would guess there is some network offload involved, as this comparable to memory bandwidth of a single core of that Xeon if I'm not mistaken.
https://openconnect.netflix.com/en/hardware/ has the currently deployed system specs.
https://www.youtube.com/watch?v=4sZZN8Szh14
https://www.youtube.com/watch?v=KP_bKvXkoC4
https://www.youtube.com/watch?v=FL5U4wr86L4
In addition, a guy I met, who worked at Yahoo, told me about 25% of Yahoo still runs FreeBSD as of two years ago.
rsync.net is based solely on FreeBSD and has been since 2006.
Not sure if we're Internet giants, though.
The bge(4) driver by default doesn't support WoL, but a number of people have managed to take the driver from FreeNAS 9.x which includes a patched driver that does make it work and added it to FreeBSD 9.x. This was released as a .patch file so you could patch the driver and recompile and is of interest because it's the onboard NIC for the HP Proliant microservers that many people use for their own custom file storage servers.
The upgrade from 9 to 10 broke this patch because the lines changed too dramatically, but you can easily copy/paste it in to the driver source at the right places and it works (I did it on 10.1 or 10.2).
My question is: Specifically what process does one need to go through to provide a patched bge(4) driver to 'the appropriate people' so that the patch is included in FreeBSD's default driver and is not broken with each major change to the driver? How does one go from 'we have functioning code that enables WoL support' to 'this is a tested, certified driver included in the default FreeBSD install'? What licensing issues are there in contributing the patch upstream from FreeNAS to FreeBSD?
This is all new territory for me, so some guidance would be greatly appreciated!
Have you submitted a FreeBSD bug report with the patch? If not, do that first: https://bugs.freebsd.org/bugzilla/enter_bug.cgi?product=Base...
If you've done that already, or after you've waited a few weeks without anyone noticing it, the usual tactic is to email people who have worked on the driver in question recently; the SVN logs are useful here: https://svnweb.freebsd.org/base/head/sys/dev/bge/if_bge.c?vi...
Feel free to send me an email if you need more help.
http://forums.nas4free.org/viewtopic.php?f=69&t=2974
Does the BSD license apply to a patch to a BSD licensed file?
No, because the BSD License isn't copyleft. You'll have to contact the original author as well as any contributors.
The author already submitted this patch in 2013 - since it was contributed to the project, it should be fine regarding the license.
I would struggle to trace the steps where I got the file initially; I'll see what I can do. Basically, trying to make heads or tails of the licensing issues surrounding it, especially given the fact that I don't remember many of the sources, is where I struggle to know what to do to do the 'right' thing.
I'm not even sure why I'm helping on this - I looked at the N40L but decided to go with much newer hardware (with much weirder bugs).
Is anyone using it on the desktop as well?
I always wanted to give it a try, but then I'm hesitant because of lacking hardware support. I remember struggling with Intel KMS support in one of the earlier releases. Is this still a problem?
I don't know about Intel KMS, I use FreeBSD on portable netbook and my work-station (Dell laptop - came with Ubuntu) and everything is superb. You will need to dig some stuff like rc.conf, but documentation is very clear and once you modified it, you're 100% that it will work after reboot. I still don't remember and know from memory how to enable acpi support on Linux (backlight control on laptops, it worked out of box on both laptops on BSD). if you don't have much time to read about it, install bsdconfig from ports it's a nice command line application that helps you select necessary features of the system.
If anything, it's definitely worth giving BSD a try just to get some new experience! I'm also highly impressed with DragonFlyBSD, worth reading their documentation to learn that BSD systems are ahead of Linux when it comes to security and system design.
Here, have some resources (includes my blog): https://www.b.agilob.net/freebsd-on-netbook-acer-aspire/ https://www.b.agilob.net/qt5-on-freebsd/ https://en.wikipedia.org/wiki/DragonFly_BSD http://networkfilter.blogspot.co.uk/2014/12/security-openbsd... https://www.over-yonder.net/~fullermd/rants/bsd4linux/01
On my laptop, a Lenovo T420, I run PC-BSD -CURRENT (http://iso.cdn.pcbsd.org/11.0-CURRENTMAR2016/edge/amd64/), which eliminates the need to build src and packages. I also run PC-BSD -CURRENT on my work desktop with a Radeon card and two monitors. I could potentially expand my workstation builds to these with pkg, but PC-BSD is more or less hands off which I want on these devices.
Open source video needs work, but as of this week that has started heating up and we may start closing in toward DragonflyBSD in terms of Freedesktop/Linux equivalence by the time FreeBSD 11.0 ships https://github.com/iotamudelta/freebsd-base-graphics/tree/dr...
Battery time, suspend/hibernate, etc?
Performance-wise, I did not notice much between Arch linux, what I was using before, and this. My setup is very light, Emacs+Xombrero on TWM. I notice, though, a certain performance problem with video in browser, but that may well be Gstreamer plugins that run slower than Linux on *BSD, I can't comment, as I don't know the internals. But VLC works just fine.
Hardware support isn't as complete as Linux but it isn't bad at all either. Chances are anything that's older than 2-3 years will work out of the box, anything newer may or may not require a little tinkering.
FreeBSD has no issues with any of the high end hardware we run and the oldest to newest hardware we have is one to three years old.
My work now has me using OS X, but I keep the FreeBSD machine on a vpn because I love working on it. If you're thinking about, I'd highly recommend looking into the FreeBSD and OpenBSD support for your laptop. Otherwise just buy an x220.
(Need to update that post: drm-i915-update-38 has been merged into -CURRENT; EFI loader in -CURRENT fully supports ZFS now)
tl;dr everything works except:
* Bluetooth (but I don't ever use it on laptops)
* the SD card reader (I haven't needed that either)
* resuming from sleep (that's unfortunate, but with X240's big battery I don't need to put it to sleep :D)
I want to run the same OS on my desktops as my servers to minimize expensive brain context switching, so I'm not into the pc-bsd concept, however, numerous people recommended it as a desktop flavor of freebsd. You MIGHT have better luck with hardware drivers or software integration on pc-bsd, if you have problems with freebsd. Maybe. Think of it like freebsd is to pc-bsd as debian is to ubuntu, sorta.
As for my non-significant problems, there was some weirdness with haskell and long term (days, weeks) stability of xmonad, so I switched over to awesome as my window manager with an identical keyboard layout.
I have no experience with desktop environments on freebsd on my desktops... no interest. I need something that switches between emacs, terminal, and browser, that's the total extent of my environment. I'm told freebsd can run KDE and Gnome, although I don't want them. I point this out because some people define desktop by hardware, or by end user use, or others define that word as "runs gnome", and I can only verify the first two definitions.
Otherwise the hardware is supported very nicely. Only scroll support for the trackpoint was a bit of a pain to get working.
Much like many people on HN, I suspect, I do most of my work /and/ my play at the command line. Once you're there for a significant amount of your time you begin to get a respect for tight integration in the BSD base system and the superb documentation which is included. Because of the docs, I can reasonably work in an environment where I have no Internet access for an extended period of time without feeling like I'm suffering. In the Linux world, I find myself spending more time looking things up on search engines and less times looking things up in the manual. This simply isn't the case with FreeBSD, which means I'm less tied to being online and more tied to getting stuff done.
YMMV but I love FreeBSD as a desktop/laptop OS. I know many people also use OpenBSD on laptops because of superior driver support for some hardware, but the Linux emulation in FreeBSD allows me to guarantee no matter what I'm trying to do it will work, so I stick to FreeBSD vs OpenBSD for my uses.
I do not use suspend/resume though due to disk encryption which is ineffective if your suspended laptop gets lost.
Should be noted in 11-CURRENT there is currently ongoing work to move userland and the generic kernel into pkg, so look forward to that as well.
Slightly risky way: you can run freebsd-update fetch and then install twice, and you will notice it updates /usr/src.. it will instruct you to reboot after the first install, but instead do another install and you will notice that /usr/src has been updated. Rebuild your custom kernel and reboot. You risk changed ABIs during this, in practice it may be fine but depends how much you care about the box and whether you are comfortable cleaning up from a chroot if things go really bad.
Better: use svnlite in base or real SVN to update /usr/src to the releng/10.3 branch. Build your kernel, reboot, do freebsd update to get the base updates and make sure your kernel is intact.
Best: use svnlite to update /usr/src. Do buildkernel, reboot. Do buildworld and follow https://www.freebsd.org/doc/handbook/makeworld.html. The more you run FreeBSD, the more you will want to follow -STABLE or -CURRENT and do your own release engineering.
Future best: Use any method to derive custom kernel, use packaged base to update base. Or again hopefully common use wont need a custom kernel.
The learning curve seems vertical at times but I'm finding FreeBSD quite refreshing. Ports and pkg-ng are great (although Australia really, really needs a local mirror).
The files I need to boot from live on a USB thumbdrive and I've got IPMI to the box so I'm not too worried. I think buildworld would be pretty slow on this box (Atom C2758). I'll give it a shot.
I don't really need vnet but having IPs per jail and some kind of network seperation made more sense to my brain.
I made a tiny tool that spins up a jail with nullfs/unionfs mounts and RCTL resource limits from a single JSON/UCL file: https://github.com/myfreeweb/sandblast
It also has nice ZFS support. Here's a short, well written, howto showing an ezjails+PF+ZFS install/config process: https://forums.freebsd.org/threads/30063/
0 - https://www.freebsd.org/cgi/ports.cgi?query=ezjail-3&stype=n...