Seems I for­got to an­nounce that the linux_​base-​c6 is in the Ports Col­lec­tion now. Well, it is not a re­place­ment for the cur­rent de­fault linux base, the linuxu­lat­or in­fra­struc­ture ports are miss­ing and we need to check if the ker­nel sup­ports enough of 2.6.18 that noth­ing breaks.


To my know­ledge, nobody is work­ing on any­thing of this. Any­one is wel­come to have a look and provide patches.

New op­por­tun­it­ies in the linuxu­lat­or

Last week­end I com­mit­ted some dummy-​syscalls to the linuxu­lat­or in FreeBSD–cur­rent. I also ad­ded some com­ments to syscalls.master which should give a hint which linux ker­nel had them for the first time (if the linux man-​page I looked this up in is cor­rect). So if someone wants to ex­per­i­ment with a higher com­pat.linux.osrelease than 2.6.16 (as it is needed for a CentOS based linux_​base), he should now get some ker­nel mes­sages about un­im­ple­men­ted sy­scalls in­stead of a si­lent fail­ure.

There may be some low-​hanging fruits in there, but I did not really veri­fy this by check­ing what the dummy sy­scalls are sup­posed to do in linux and if we can eas­ily map this to ex­ist­ing FreeBSD fea­tures. In case someone has a look, please send an email to emulation@​FreeBSD.​org.

New CentOS linux_​base for test­ing soon­ish

It seems my HOWTO cre­ate a new linux_​base port was not too bad. There is now a PR for a CentOS 6 based linux_​base port. I had a quick look at it and it seems that it is nearly us­able to in­clude in­to the Ports Col­lec­tion (the SRPMs need to be ad­ded, but that can be done with­in some minutes).

When FreeBSD 8.3 is re­leased and the Ports Col­lec­tion open for sweep­ing com­mits again, I will ask port­m­gr to do a repo-​copy for the new port and com­mit it. This is just the linux_​base port, not the com­plete in­fra­struc­ture which is needed to com­pletely re­place the cur­rent de­fault linuxu­lat­or user­land. This is just a start. The pro­cess of switch­ing to a more re­cent linux_​base port is a long pro­cess, and in this case de­pends upon enough sup­port in the sup­por­ted FreeBSD re­leases.

At­ten­tion: Any­one in­stalling the port from the PR should be aware that us­ing it is a highly ex­per­i­ment­al task. You need to change the linuxu­lat­or to im­per­son­ate him­self as a linux 2.6.18 ker­nel (de­scribed in the pkg-​message of the port), and the code in FreeBSD is far from sup­port­ing this. Any­one who wants to try it is wel­come, but you have to run FreeBSD-​current as of at least the last week­end, and watch out for ker­nel mes­sages about un­sup­por­ted sy­scalls. Re­ports to emulation@​FreeBSD.​org please, not here on the webpage.

Video4Linux2 sup­port in FreeBSD (linuxu­lat­or)

I com­mit­ted the v4l2 sup­port in­to the lin­ux­u­la­tor (in 9–cur­rent). Part of this was the im­port of the v4l2 head­er from linux. We have the per­mis­sion to use it (like the v4l one), it is not li­censed via GPL. This means we can use it in FreeBSD nat­ive dri­vers, and they are even al­lowed to be com­piled in­to GENERIC (but I doubt we have a dri­ver which could pro­vide the v4l2 inter­face in GENERIC).

The code I com­mit­ted is “just” the glue-​code which al­lows to use FreeBSD nat­ive devices which pro­vide a v4l2 inter­face (e.g. multimedia/​pwcbsd or multimedia/​webcamd) from linux pro­grams.

Thanks to nox@ for writ­ing the glue code.

v4l sup­port in the linuxu­lat­or MFCed to 8-​stable

I merged the v4l trans­la­tion lay­er in­to the linuxu­lat­or of 8–stable. As in -cur­rent, this just means that linux apps (like Skype) can now use FreeBSD nat­ive devices which con­form to the v4l ABI. The port multimedia/​webcamd provides ac­cess to some web­cams (or DVB hard­ware) via the v4l ABI.

People which want to test the linuxu­lat­or part should first make sure a nat­ive FreeBSD ap­plic­a­tion has no prob­lem ac­cess­ing the device.