Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Jul 2016 17:32:22 +0100
From:      Matthew Seaman <m.seaman@infracaninophile.co.uk>
To:        freebsd-questions@freebsd.org
Subject:   Re: A question about downloading FreeBSD kernel code
Message-ID:  <0803e173-69c6-a5ba-653a-127729d04f57@infracaninophile.co.uk>
In-Reply-To: <d3e5e1a9-63ae-1720-f4a6-57f3ca5f94e7@hiwaay.net>
References:  <2016070420234846698317@chinadtrace.org> <alpine.BSF.2.20.1607040811050.89438@wonkity.com> <d3e5e1a9-63ae-1720-f4a6-57f3ca5f94e7@hiwaay.net>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--dPw5FiWUhLDeP19eIKooICMxt8SUleGkt
Content-Type: multipart/mixed; boundary="g4hgphfBJD1PbHTIEfvtqcef5NRGWiuri"
From: Matthew Seaman <m.seaman@infracaninophile.co.uk>
To: freebsd-questions@freebsd.org
Message-ID: <0803e173-69c6-a5ba-653a-127729d04f57@infracaninophile.co.uk>
Subject: Re: A question about downloading FreeBSD kernel code
References: <2016070420234846698317@chinadtrace.org>
 <alpine.BSF.2.20.1607040811050.89438@wonkity.com>
 <d3e5e1a9-63ae-1720-f4a6-57f3ca5f94e7@hiwaay.net>
In-Reply-To: <d3e5e1a9-63ae-1720-f4a6-57f3ca5f94e7@hiwaay.net>

--g4hgphfBJD1PbHTIEfvtqcef5NRGWiuri
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 07/04/16 15:26, William A. Mahaffey III wrote:
> On 07/04/16 09:25, Warren Block wrote:
>> On Mon, 4 Jul 2016, Nan Xiao wrote:
>>
>>> Hi all,
>>>
>>> I want to install FreeBSD kernel source files, and my FreeBSD kernel
>>> version is:
>>>
>>> # freebsd-version -k
>>> 10.3-RELEASE-p4
>>>
>>> But from ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/, there is
>>> only 10.3-RELEASE code.
>>> So is it mapping to my kernel version (10.3-RELEASE-p4)? Or where
>>> should I download the right
>>> 10.3-RELEASE-p4 code?
>>>
>>> Thanks very much in advance!
>>
>> Usually, uname -a will show the revision number of the code in use.
>> That revision number can be used to check out the correct version of
>> the source from the repository.  For example, on a 10-STABLE system I
>> have here:
>>
>> uname -a
>> FreeBSD lightning 10.3-STABLE FreeBSD 10.3-STABLE #0 r302243: Mon Jun
>> 27 19:27:54 MDT 2016 root@lightning:/usr/obj/usr/src/sys/LIGHTNING  am=
d64
>>
>> So this is built from revision 302243 of the source.
>>
>> If /usr/src exists, it is deleted to make sure there is no old source
>> in there:
>>
>> rm -rf /usr/src
>>
>> Then check out the source for that revision.  I use 'svn' here because=

>> I have installed the Subversion port, but svnlite is in the base
>> system and usually works the same.
>>
>> Source for a -RELEASE system will come from the releng branch, so your=

>> checkout will look like this (the nnnnnn coming from the uname -a
>> output):
>>
>> svn checkout -r nnnnnn https://svn.freebsd.org/base/releng/10.3 /usr/s=
rc
>> _______________________________________________
>> freebsd-questions@freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-questions
>> To unsubscribe, send any mail to
>> "freebsd-questions-unsubscribe@freebsd.org"
>>
>=20
> Did that (revision serializing) start w/ 10.n ? I don't see that on my
> 9.3R box:
>=20
> [wam@kabini1, ~, 9:32:26am] 490 % uname -a
> FreeBSD kabini1.local 9.3-RELEASE-p33 FreeBSD 9.3-RELEASE-p33 #0: Wed
> Jan 13 17:55:39 UTC 2016
> root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
> [wam@kabini1, ~, 9:34:02am] 491 %

Warren's system was built locally from some point on the 10-STABLE branch=
,
with the sources checked out from subversion and without any local
modifications. That's where the r302243 in his uname output comes from.  =
If
he'd checked out the sources through some other VCS, such as Github or he=
'd
applied patches locally you could tell that from the form of the
revision tag
in the uname output.  This is done on the basis that compiling your own
system
is something a developer would do, and revision numbers like that are rea=
lly
very useful when discussing bugs or other code-related things with other
developers.

William on the other hand, is using the 9.3-RELEASE branch -- presumably
installed and updated through freebsd-update(8).  As a standard install
from a release channel (a) we can discover exactly what the revision is
from the release tag in uname(1) and (b) given you're unlikely to be
building your own if you're using freebsd-update(8) the  revision tag
stuff doesn't really add anything useful for end-users.

While Warren is correct in his command line:

svn checkout -r nnnnnn https://svn.freebsd.org/base/releng/10.3 /usr/src

actually, for -RELEASE branches, you typically want to have all the
available SA and EN patches applied, and you can do that without having
to know a revision number:

svn checkout https://svn.freebsd.org/base/releng/10.3 /usr/src

However, since you're already using freebsd-update(8), why not use that
to maintain your copy of the system sources instead?  When you install,
you need to tick the box about 'installing system sources', or after the
fact, you can download a tarball from one of the FTP servers: eg.

ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/10.3-RELEASE/src.txz

Untar that so that it populates /usr/src and check that
/etc/freebsd-update.conf lists 'src' as one of the active items on the
'Components' line.  Now, when you update your system, it will pull down
the source code changes for any SA or EN patches as well as the binary
patches to the installed system.  (Why would you want to do this as well
as applying binary patches to the system?  Well, usually it's because
you want to run a non-standard kernel configuration, which you compile
yourself.)

	Cheers,

	Matthew





--g4hgphfBJD1PbHTIEfvtqcef5NRGWiuri--

--dPw5FiWUhLDeP19eIKooICMxt8SUleGkt
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIcBAEBCgAGBQJXeo+cAAoJEABRPxDgqeTnGtYP/RyNF4KRiC0u8QMO3W6mmhDQ
KtePYGNkJ6vV/lXYC5HPJGCtK2hZFAwc++6b2PTDqC2iT35WBfcj0NEhpxQHrODm
twqSGMAFj/SNYyxXSWC/zetWhaetjKbM7n1xRWArFLUfYX/eQcgP2OlSuAZUQXaY
hDakPmZJodyfRa07szbAQvX11iFteHRgwtZLNfNh0uTC19k55tjT9uZBb0JsBF7T
zSEidkntZdRAabHOqo5yvuKQ8buwyN5AiQUSyS5AwWE4v3DierfLK0AadPzNPVKx
PdM0Ytip3cFSqW/+B84gWk4L9VqpwjXbk+yM9BvP2Z4D1fS8YyuJDzqufOcqBI7e
XvWxxxH4WKXJkZ0lE+QItgewHKGhL85MeuA7JzErLED7K9tpd1SSB/BDVtKYnjcN
dB2kmnbXvsc/9aq8GC4BQouPP/vzLHLWevGCMMtt07dfD9vxPWLD9tiD99OSdvlB
eSWx4/ndtaZMYo63eBoeoOPjemCJ3Ek3ZlTXz93v2AgICJTpTnJ1ggt34+A8UmpU
q6fqPhDcAEWNQ4qgfMUjqJ5cIWG6KlnYXxP9X8m+ZODUGMqRGwG4dJ/dfCS59WoA
dK0YYMp4OZz3ky3BhMg9imX+7SVWlUhfZa5anxWRngANreUXv3nB1c7QXDDF7UOy
KcmIxbuLTyB0sNSfAJ7u
=Pl/y
-----END PGP SIGNATURE-----

--dPw5FiWUhLDeP19eIKooICMxt8SUleGkt--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0803e173-69c6-a5ba-653a-127729d04f57>