Skip to contentSkip to conversation

package/linux-headers: add help text for manual header selection.

PATCH Superseded Mark Corbin 2 participants 6 messages Aug 23, 2018

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/3 package/linux-headers: add help text for manual header selection.

Add kconfig help text that explains how to manually specify an official Linux version to use for the kernel headers.

---
 package/linux-headers/Config.in.host | 8 ++++++++
 1 file changed, 8 insertions(+)
package/linux-headers/Config.in.host +8 -0
index adac3f6398..5c20c997f9 100644
@@ -77,6 +77,14 @@ config BR2_KERNEL_HEADERS_4_17
 
 config BR2_KERNEL_HEADERS_VERSION
 	bool "Manually specified Linux version"
+	help
+	  This option allows you to use a specific official version from
+	  kernel.org, like 2.6.x, 2.6.x.y, 3.x.y, ...
+
+	  Note: you cannot use this option to select a _longterm_ 2.6
+	  kernel, because these kernels are not located at the standard
+	  URL at kernel.org. Instead, select "Custom tarball" and
+	  specify the right URL directly.
 
 endchoice
 
Signature · 1 line
2.17.1
#1 lore raw

PATCH 2/3 linux: add hash file.

Added a hash file for the Linux kernel. The tarballs were downloaded from kernel.org and verified using gpg before generating sha512 hashes. This file is also shared with the linux-headers package via a symbolic link.

---
 linux/linux.hash                         | 13 +++++++++++++
 package/linux-headers/linux-headers.hash |  1 +
 2 files changed, 14 insertions(+)
 create mode 100644 linux/linux.hash
 create mode 120000 package/linux-headers/linux-headers.hash
linux/linux.hash new file +13 -0
new file mode 100644
index 0000000000..7fc2a55001
@@ -0,0 +1,13 @@
+# Locally calculated after checking pgp signatures
+sha512 211f72ce038b3f17355569527170bf02b3eb84b1cddc9866e800e1a87dda15b57a8a3ccd97a737f670cef3af6ecb62354831787918ba5c514987a3b32c4e6d6b  linux-4.17.18.tar.xz
+sha512 8fee4164ff5bb9f9561a15d0df5d9d8f4890189bc923c9ca1ce5fb78e8d286a68f9b975ea2ea9f49cad1c6bbf2fd2ec3ec1042ec5fa2ad95249bc2f2a23aef6a  linux-4.16.18.tar.xz
+sha512 d0f6819ef6cf809769ceb717419c57b422bea611da23db63d7d0de15545278bafc9a3de04491dfe2f669eb5f62a718c000bebbe8e7b508796b9c461794d3deec  linux-4.15.18.tar.xz
+sha512 e4980fcb8fba5bd64ce8e2447ce4c847ec41ca4e86dc29bbd6f706ba883852eaec950680ba67a222c237eb5abc01d58cf66e04fe93a666cbd0be9d6d51f690d7  linux-4.14.66.tar.xz
+sha512 8dcdfd6529635b45493f64236a9d4704c4c73554f97ee99cc8ee330a7921e00c37e6652daf30bda4c526893f3665c183e5b64998593769ec1d947ee74fc0833a  linux-4.13.16.tar.xz
+sha512 3c8217092d31c8030ca3a669ae76c23dbb0e2f4b392144930d1685fa1b8e1b7178a261da845349791f36265338a5f5cd9132b666f8994c8e80514a607f811445  linux-4.12.14.tar.xz
+sha512 92a40984e2706e18c392dcd9b8d64261c138a228de335fe63501ceae3d89adaff7d211e3fd849f859ce3869292ff7bffc935aefe40e1abaf457d2e3210b4f4ef  linux-4.11.12.tar.xz
+sha512 c4dbd0863454f7794caf3203d9326dffe370f1250a94d0644f3e1b399c368ae6ddd3479a3fb8a893b0372181f736f0e4a72c4efe338698423598b9577ded3e21  linux-4.10.17.tar.xz
+sha512 4d1a8b5741be2fa46e0a7c40d54cc7df42e891cd397274bd31152dd6d2d0a642e92808aa7f110d37aec849e8d38ed16fce65aec436f83fafef3f67f312b6c696  linux-4.9.123.tar.xz
+sha512 504fdeb22320be391e680f5e2d0fc80b6d1ef5d6001012ecf5955983b4b42f9a26797ee7f663705d1e6b3a74fe6efee5a9df11957a2b3e40fc8433602e925d7c  linux-4.4.151.tar.xz
+sha512 c74843faa40700cbbe8d1d1be90b80fe09cd8ba449e44eedb43ffb87032aa2000303e9a701c3fc18fe4f3f3f76ec184c8c1193602e8cdc84cce5fc08b559c782  linux-4.1.52.tar.xz
+sha512 760197283a98c58db40deffdac847d8d274206cd5ef30a3454fca6affc863f0bf579795a170ba195e3090b33f3cd3b22cdcbb7c60daf119b9760bb09595868ba  linux-3.2.102.tar.xz
package/linux-headers/linux-headers.hash new file +1 -0
new file mode 120000
index 0000000000..04970e97c1
@@ -0,0 +1 @@
+../../linux/linux.hash
\ No newline at end of file
Signature · 1 line
2.17.1
#2 lore raw

PATCH 2/3 linux: add hash file.

Hi Mark,

Quoted 19 lines · Mark Corbin

Added a hash file for the Linux kernel. The tarballs were downloaded from kernel.org and verified using gpg before generating sha512 hashes. This file is also shared with the linux-headers package via a symbolic link.

---
 linux/linux.hash                         | 13 +++++++++++++
 package/linux-headers/linux-headers.hash |  1 +
 2 files changed, 14 insertions(+)
 create mode 100644 linux/linux.hash
 create mode 120000 package/linux-headers/linux-headers.hash
linux/linux.hash new file +0 -0
new file mode 100644
index 0000000000..7fc2a55001

linux/linux.hash line 1

Quoted 1 line
linux/linux.hash new file +1 -0
@@ -0,0 +1,13 @@
+# Locally calculated after checking pgp signatures

No need to calculate locally. Upstream provides sha256 hashes at

https://kernel.org/pub/linux/kernel/v4.x/sha256sums.asc
https://kernel.org/pub/linux/kernel/v3.x/sha256sums.asc

Another small nit, the subject line should not end with a period / full stop.

baruch

Quoted 18 lines
linux/linux.hash new file +12 -0
+sha512 211f72ce038b3f17355569527170bf02b3eb84b1cddc9866e800e1a87dda15b57a8a3ccd97a737f670cef3af6ecb62354831787918ba5c514987a3b32c4e6d6b  linux-4.17.18.tar.xz
+sha512 8fee4164ff5bb9f9561a15d0df5d9d8f4890189bc923c9ca1ce5fb78e8d286a68f9b975ea2ea9f49cad1c6bbf2fd2ec3ec1042ec5fa2ad95249bc2f2a23aef6a  linux-4.16.18.tar.xz
+sha512 d0f6819ef6cf809769ceb717419c57b422bea611da23db63d7d0de15545278bafc9a3de04491dfe2f669eb5f62a718c000bebbe8e7b508796b9c461794d3deec  linux-4.15.18.tar.xz
+sha512 e4980fcb8fba5bd64ce8e2447ce4c847ec41ca4e86dc29bbd6f706ba883852eaec950680ba67a222c237eb5abc01d58cf66e04fe93a666cbd0be9d6d51f690d7  linux-4.14.66.tar.xz
+sha512 8dcdfd6529635b45493f64236a9d4704c4c73554f97ee99cc8ee330a7921e00c37e6652daf30bda4c526893f3665c183e5b64998593769ec1d947ee74fc0833a  linux-4.13.16.tar.xz
+sha512 3c8217092d31c8030ca3a669ae76c23dbb0e2f4b392144930d1685fa1b8e1b7178a261da845349791f36265338a5f5cd9132b666f8994c8e80514a607f811445  linux-4.12.14.tar.xz
+sha512 92a40984e2706e18c392dcd9b8d64261c138a228de335fe63501ceae3d89adaff7d211e3fd849f859ce3869292ff7bffc935aefe40e1abaf457d2e3210b4f4ef  linux-4.11.12.tar.xz
+sha512 c4dbd0863454f7794caf3203d9326dffe370f1250a94d0644f3e1b399c368ae6ddd3479a3fb8a893b0372181f736f0e4a72c4efe338698423598b9577ded3e21  linux-4.10.17.tar.xz
+sha512 4d1a8b5741be2fa46e0a7c40d54cc7df42e891cd397274bd31152dd6d2d0a642e92808aa7f110d37aec849e8d38ed16fce65aec436f83fafef3f67f312b6c696  linux-4.9.123.tar.xz
+sha512 504fdeb22320be391e680f5e2d0fc80b6d1ef5d6001012ecf5955983b4b42f9a26797ee7f663705d1e6b3a74fe6efee5a9df11957a2b3e40fc8433602e925d7c  linux-4.4.151.tar.xz
+sha512 c74843faa40700cbbe8d1d1be90b80fe09cd8ba449e44eedb43ffb87032aa2000303e9a701c3fc18fe4f3f3f76ec184c8c1193602e8cdc84cce5fc08b559c782  linux-4.1.52.tar.xz
+sha512 760197283a98c58db40deffdac847d8d274206cd5ef30a3454fca6affc863f0bf579795a170ba195e3090b33f3cd3b22cdcbb7c60daf119b9760bb09595868ba  linux-3.2.102.tar.xz
package/linux-headers/linux-headers.hash new file +0 -0
new file mode 120000
index 0000000000..04970e97c1

package/linux-headers/linux-headers.hash line 1

Quoted 2 lines
package/linux-headers/linux-headers.hash new file +1 -0
@@ -0,0 +1 @@
+../../linux/linux.hash
\ No newline at end of file

--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

#3 lore raw

PATCH 2/3 linux: add hash file.

Hello Baruch

Quoted 25 lines · Baruch Siach

Hi Mark,

Quoted 19 lines · Mark Corbin

Added a hash file for the Linux kernel. The tarballs were downloaded from kernel.org and verified using gpg before generating sha512 hashes. This file is also shared with the linux-headers package via a symbolic link.

---
 linux/linux.hash                         | 13 +++++++++++++
 package/linux-headers/linux-headers.hash |  1 +
 2 files changed, 14 insertions(+)
 create mode 100644 linux/linux.hash
 create mode 120000 package/linux-headers/linux-headers.hash
linux/linux.hash new file +0 -0
new file mode 100644
index 0000000000..7fc2a55001

linux/linux.hash line 1

Quoted 1 line
linux/linux.hash new file +1 -0
@@ -0,0 +1,13 @@
+# Locally calculated after checking pgp signatures

No need to calculate locally. Upstream provides sha256 hashes at

Quoted 2 lines

https://kernel.org/pub/linux/kernel/v4.x/sha256sums.asc
https://kernel.org/pub/linux/kernel/v3.x/sha256sums.asc

The two files would need to be combined, plus the upstream files are in a different format to the Buildroot hash files.

Quoted 3 lines

Another small nit, the subject line should not end with a period / full stop.

No problem.

Regards

Mark

Quoted 27 lines

baruch

Quoted 18 lines
linux/linux.hash new file +12 -0
+sha512 211f72ce038b3f17355569527170bf02b3eb84b1cddc9866e800e1a87dda15b57a8a3ccd97a737f670cef3af6ecb62354831787918ba5c514987a3b32c4e6d6b  linux-4.17.18.tar.xz
+sha512 8fee4164ff5bb9f9561a15d0df5d9d8f4890189bc923c9ca1ce5fb78e8d286a68f9b975ea2ea9f49cad1c6bbf2fd2ec3ec1042ec5fa2ad95249bc2f2a23aef6a  linux-4.16.18.tar.xz
+sha512 d0f6819ef6cf809769ceb717419c57b422bea611da23db63d7d0de15545278bafc9a3de04491dfe2f669eb5f62a718c000bebbe8e7b508796b9c461794d3deec  linux-4.15.18.tar.xz
+sha512 e4980fcb8fba5bd64ce8e2447ce4c847ec41ca4e86dc29bbd6f706ba883852eaec950680ba67a222c237eb5abc01d58cf66e04fe93a666cbd0be9d6d51f690d7  linux-4.14.66.tar.xz
+sha512 8dcdfd6529635b45493f64236a9d4704c4c73554f97ee99cc8ee330a7921e00c37e6652daf30bda4c526893f3665c183e5b64998593769ec1d947ee74fc0833a  linux-4.13.16.tar.xz
+sha512 3c8217092d31c8030ca3a669ae76c23dbb0e2f4b392144930d1685fa1b8e1b7178a261da845349791f36265338a5f5cd9132b666f8994c8e80514a607f811445  linux-4.12.14.tar.xz
+sha512 92a40984e2706e18c392dcd9b8d64261c138a228de335fe63501ceae3d89adaff7d211e3fd849f859ce3869292ff7bffc935aefe40e1abaf457d2e3210b4f4ef  linux-4.11.12.tar.xz
+sha512 c4dbd0863454f7794caf3203d9326dffe370f1250a94d0644f3e1b399c368ae6ddd3479a3fb8a893b0372181f736f0e4a72c4efe338698423598b9577ded3e21  linux-4.10.17.tar.xz
+sha512 4d1a8b5741be2fa46e0a7c40d54cc7df42e891cd397274bd31152dd6d2d0a642e92808aa7f110d37aec849e8d38ed16fce65aec436f83fafef3f67f312b6c696  linux-4.9.123.tar.xz
+sha512 504fdeb22320be391e680f5e2d0fc80b6d1ef5d6001012ecf5955983b4b42f9a26797ee7f663705d1e6b3a74fe6efee5a9df11957a2b3e40fc8433602e925d7c  linux-4.4.151.tar.xz
+sha512 c74843faa40700cbbe8d1d1be90b80fe09cd8ba449e44eedb43ffb87032aa2000303e9a701c3fc18fe4f3f3f76ec184c8c1193602e8cdc84cce5fc08b559c782  linux-4.1.52.tar.xz
+sha512 760197283a98c58db40deffdac847d8d274206cd5ef30a3454fca6affc863f0bf579795a170ba195e3090b33f3cd3b22cdcbb7c60daf119b9760bb09595868ba  linux-3.2.102.tar.xz
package/linux-headers/linux-headers.hash new file +0 -0
new file mode 120000
index 0000000000..04970e97c1

package/linux-headers/linux-headers.hash line 1

Quoted 2 lines
package/linux-headers/linux-headers.hash new file +1 -0
@@ -0,0 +1 @@
+../../linux/linux.hash
\ No newline at end of file

--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

Signature · 3 lines
Mark Corbin
Embecosm Ltd.
https://www.embecosm.com
#4 lore raw

PATCH 2/3 linux: add hash file.

Hi Mark,

Quoted 26 lines · Mark Corbin
Quoted 25 lines · Baruch Siach

Hi Mark,

Quoted 19 lines · Mark Corbin

Added a hash file for the Linux kernel. The tarballs were downloaded from kernel.org and verified using gpg before generating sha512 hashes. This file is also shared with the linux-headers package via a symbolic link.

---
 linux/linux.hash                         | 13 +++++++++++++
 package/linux-headers/linux-headers.hash |  1 +
 2 files changed, 14 insertions(+)
 create mode 100644 linux/linux.hash
 create mode 120000 package/linux-headers/linux-headers.hash
linux/linux.hash new file +0 -0
new file mode 100644
index 0000000000..7fc2a55001

linux/linux.hash line 1

Quoted 1 line
linux/linux.hash new file +1 -0
@@ -0,0 +1,13 @@
+# Locally calculated after checking pgp signatures

No need to calculate locally. Upstream provides sha256 hashes at

Quoted 4 lines
Quoted 2 lines

https://kernel.org/pub/linux/kernel/v4.x/sha256sums.asc
https://kernel.org/pub/linux/kernel/v3.x/sha256sums.asc

The two files would need to be combined, plus the upstream files are in a different format to the Buildroot hash files.

You don't have to use the content of these files directly. But when upstream provides hashes we usually use them in .hash, and mention their source in a comment. See for example package/btrfs-progs/btrfs-progs.hash.

baruch

Quoted 10 lines
Quoted 2 lines

Another small nit, the subject line should not end with a period / full stop.

No problem.

Regards

Mark

Quoted 3 lines

baruch

Quoted 12 lines
Quoted 4 lines
Quoted 4 lines
linux/linux.hash new file +4 -0
+sha512 211f72ce038b3f17355569527170bf02b3eb84b1cddc9866e800e1a87dda15b57a8a3ccd97a737f670cef3af6ecb62354831787918ba5c514987a3b32c4e6d6b  linux-4.17.18.tar.xz
+sha512 8fee4164ff5bb9f9561a15d0df5d9d8f4890189bc923c9ca1ce5fb78e8d286a68f9b975ea2ea9f49cad1c6bbf2fd2ec3ec1042ec5fa2ad95249bc2f2a23aef6a  linux-4.16.18.tar.xz
+sha512 d0f6819ef6cf809769ceb717419c57b422bea611da23db63d7d0de15545278bafc9a3de04491dfe2f669eb5f62a718c000bebbe8e7b508796b9c461794d3deec  linux-4.15.18.tar.xz
+sha512 e4980fcb8fba5bd64ce8e2447ce4c847ec41ca4e86dc29bbd6f706ba883852eaec950680ba67a222c237eb5abc01d58cf66e04fe93a666cbd0be9d6d51f690d7  linux-4.14.66.tar.xz
Quoted 8 lines

linux/linux.hash line 13

Quoted 8 lines
linux/linux.hash new file +8 -0
+sha512 8dcdfd6529635b45493f64236a9d4704c4c73554f97ee99cc8ee330a7921e00c37e6652daf30bda4c526893f3665c183e5b64998593769ec1d947ee74fc0833a  linux-4.13.16.tar.xz
+sha512 3c8217092d31c8030ca3a669ae76c23dbb0e2f4b392144930d1685fa1b8e1b7178a261da845349791f36265338a5f5cd9132b666f8994c8e80514a607f811445  linux-4.12.14.tar.xz
+sha512 92a40984e2706e18c392dcd9b8d64261c138a228de335fe63501ceae3d89adaff7d211e3fd849f859ce3869292ff7bffc935aefe40e1abaf457d2e3210b4f4ef  linux-4.11.12.tar.xz
+sha512 c4dbd0863454f7794caf3203d9326dffe370f1250a94d0644f3e1b399c368ae6ddd3479a3fb8a893b0372181f736f0e4a72c4efe338698423598b9577ded3e21  linux-4.10.17.tar.xz
+sha512 4d1a8b5741be2fa46e0a7c40d54cc7df42e891cd397274bd31152dd6d2d0a642e92808aa7f110d37aec849e8d38ed16fce65aec436f83fafef3f67f312b6c696  linux-4.9.123.tar.xz
+sha512 504fdeb22320be391e680f5e2d0fc80b6d1ef5d6001012ecf5955983b4b42f9a26797ee7f663705d1e6b3a74fe6efee5a9df11957a2b3e40fc8433602e925d7c  linux-4.4.151.tar.xz
+sha512 c74843faa40700cbbe8d1d1be90b80fe09cd8ba449e44eedb43ffb87032aa2000303e9a701c3fc18fe4f3f3f76ec184c8c1193602e8cdc84cce5fc08b559c782  linux-4.1.52.tar.xz
+sha512 760197283a98c58db40deffdac847d8d274206cd5ef30a3454fca6affc863f0bf579795a170ba195e3090b33f3cd3b22cdcbb7c60daf119b9760bb09595868ba  linux-3.2.102.tar.xz

--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

#5 lore raw

PATCH 3/3 package/linux-headers: add support for custom headers.

In reply to Mark Corbin

Add support for building toolchains against custom headers. Allows the selection of a manual version, custom tarball or custom git repository for the kernel headers. This enables toolchains to be built against custom kernel headers without having to build a full kernel.

This is particularly useful for new architectures, such as RISC-V where updated kernel headers may not have made it into the mainline kernel yet.

---
 package/linux-headers/Config.in.host   | 40 ++++++++++-
 package/linux-headers/linux-headers.mk | 94 +++++++++++++++-----------
 2 files changed, 93 insertions(+), 41 deletions(-)
package/linux-headers/Config.in.host +39 -1
index 5c20c997f9..f8f78f90d1 100644
@@ -86,6 +86,23 @@ config BR2_KERNEL_HEADERS_VERSION
 	  URL at kernel.org. Instead, select "Custom tarball" and
 	  specify the right URL directly.
 
+config BR2_KERNEL_HEADERS_CUSTOM_TARBALL
+	bool "Custom tarball"
+	help
+	  This option allows you to specify a URL pointing to a kernel
+	  source tarball. This URL can use any protocol recognized by
+	  Buildroot, like http://, ftp://, file:// or scp://.
+
+	  When pointing to a local tarball using file://, you may want
+	  to use a make variable like $(TOPDIR) to reference the root of
+	  the Buildroot tree.
+
+config BR2_KERNEL_HEADERS_CUSTOM_GIT
+	bool "Custom Git repository"
+	help
+	  This option allows Buildroot to get the Linux kernel source
+	  code from a Git repository.
+
 endchoice
 
 config BR2_DEFAULT_KERNEL_VERSION
@@ -95,9 +112,27 @@ config BR2_DEFAULT_KERNEL_VERSION
 	  Specify the version you want to use.
 	  E.G.: 3.6.10
 
+config BR2_KERNEL_HEADERS_CUSTOM_TARBALL_LOCATION
+	string "URL of custom kernel tarball"
+	depends on BR2_KERNEL_HEADERS_CUSTOM_TARBALL
+
+if BR2_KERNEL_HEADERS_CUSTOM_GIT
+
+config BR2_KERNEL_HEADERS_CUSTOM_REPO_URL
+	string "URL of custom repository"
+
+config BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION
+	string "Custom repository version"
+	help
+	  Revision to use in the typical format used by
+	  Git/Mercurial/Subversion E.G. a sha id, a tag, branch, ..
+
+endif
+
 choice
 	bool "Custom kernel headers series"
-	depends on BR2_KERNEL_HEADERS_VERSION || BR2_KERNEL_HEADERS_AS_KERNEL
+	depends on BR2_KERNEL_HEADERS_VERSION || BR2_KERNEL_HEADERS_AS_KERNEL || \
+		   BR2_KERNEL_HEADERS_CUSTOM_TARBALL || BR2_KERNEL_HEADERS_CUSTOM_GIT
 	help
 	  Specify the kernel headers series you manually selected,
 	  above.
@@ -277,3 +312,6 @@ config BR2_DEFAULT_KERNEL_HEADERS
 	default "4.16.18"	if BR2_KERNEL_HEADERS_4_16
 	default "4.17.18"	if BR2_KERNEL_HEADERS_4_17
 	default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
+	default "custom"	if BR2_KERNEL_HEADERS_CUSTOM_TARBALL
+	default BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION \
+		if BR2_KERNEL_HEADERS_CUSTOM_GIT
package/linux-headers/linux-headers.mk +54 -40

136 lines not on this page · raw message

Signature · 1 line
2.17.1