From owner-freebsd-current@freebsd.org Wed Jun 8 11:38:37 2016 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6115AB6FA05 for ; Wed, 8 Jun 2016 11:38:37 +0000 (UTC) (envelope-from mad@madpilot.net) Received: from mail.madpilot.net (grunt.madpilot.net [78.47.145.38]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E7DE61A9E for ; Wed, 8 Jun 2016 11:38:36 +0000 (UTC) (envelope-from mad@madpilot.net) Received: from mail (mail [192.168.254.3]) by mail.madpilot.net (Postfix) with ESMTP id 3rPmfB6zfdzZr1; Wed, 8 Jun 2016 13:38:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=madpilot.net; h= content-transfer-encoding:content-type:content-type:in-reply-to :mime-version:user-agent:date:date:message-id:from:from :references:subject:subject:received:received; s=mail; t= 1465385905; x=1467200306; bh=O7YiQ43zxejG6YX9cc23zt4Q7Rn/hy0oil5 gGdE+VQk=; b=bY8ahwSYqAV85VSHvRF/XlUvLLp0hQtZ96qv350eElsOADojjZx S2rf0kh1RMMfMpFfFtiXHFLG+jMM0kDNdRtCQg/pPgtFIkc1s2CyI2pjrbLSuDkC QVCno0hzJ9K2/W2KV4Edi6kyIThG2CG9DTHpJOpMMEQYNDY37rFAA2Qg= Received: from mail.madpilot.net ([192.168.254.3]) by mail (mail.madpilot.net [192.168.254.3]) (amavisd-new, port 10024) with ESMTP id 0XPgTZ8SBkWS; Wed, 8 Jun 2016 13:38:25 +0200 (CEST) Received: from marvin.madpilot.net (micro.madpilot.net [88.149.173.206]) by mail.madpilot.net (Postfix) with ESMTPSA; Wed, 8 Jun 2016 13:38:25 +0200 (CEST) Subject: Re: Virtualbox kernel module on 11-CURRENT To: Kevin Oberman References: Cc: Rafael Rodrigues Nakano , FreeBSD Current From: Guido Falsi Message-ID: <65ffa748-6754-c23c-8f55-434b3d4b5be6@madpilot.net> Date: Wed, 8 Jun 2016 13:38:24 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jun 2016 11:38:37 -0000 On 06/07/16 23:13, Kevin Oberman wrote: > On Tue, Jun 7, 2016 at 1:04 AM, Guido Falsi > wrote: > > On 06/07/16 02:23, Rafael Rodrigues Nakano wrote: > > Hello, > > > > I tried installing virtualbox from packages, building it from sources, > > trying the GENERIC kernel but everytime I can't start the kernel > module > > 'vboxdrv', it says: > > "KLD vboxdrv.ko: depends on kernel - not available or version > mismatch. > > linker_load_file: Unsupported file type" > > > > The virtualbox module needs to be in full sync with the kernel. Most > probably the sources being used by the cluster for building packages on > head are a little different from yours, so the kernel module is not > in sync. > > You will need to build the kernel module yourself to actually match your > kernel sources. > > It's not really a problem or a bug, it's how it works. On head there is > no warranty about the KBI. This cannot happen on releases and stable > because the KBI is not going to change there. > > -- > Guido Falsi > > > > I don't think this is true. While shareable libraries have fixed ABIs, I > believe the KBI can change even in STABLE branches. If a security fix > requires it, it might even change in a RELEASE. I my be wrong about > this, but I recall having to re-build the VB kmod port even withing a > minor version (i.e. STABLE). I'm unable to find a final statement about KBI stability, but freezing it is an essential step in the new major release schedule: https://www.freebsd.org/releases/11.0R/schedule.html (KBI freeze begins 24 June 2016) If the promise has not been maintained in the past it's a sad event and a mistake, but the promise is still valid in it's intent. BTW at present the cluster building packages for 10.x is running on 10.1, so the kernel modules built by it are built on 10.1 and will work on 10.3. This would be impossible without KBI being frozen. Mistakes do happen unluckily. > > In any case, I do strongly recommend the use of PORTS_MODULES in > /etc/src.conf to assure that the kernel modules always get re-built when > the kernel is re-built. so that the sources, the kernel, and the module > are in sync. The PORTS_MODULES are re-installed as a part of the "make > installkernel", so things are almost safe, but beware of "make > reinstallkernel" as it does not do the right thing. (See > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=201779) Yes leveraging PORTS_MODULES is a good solution, although I don't like mixing the system build process with the port one so I prefer manually doing the modules part. -- Guido Falsi