From patchwork Mon Jun 1 15:16:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Walle X-Patchwork-Id: 1301798 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.137; helo=fraxinus.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=walle.cc Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; secure) header.d=walle.cc header.i=@walle.cc header.a=rsa-sha256 header.s=mail2016061301 header.b=njjZqcq9; dkim-atps=neutral Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49bJgd5C0yz9sSy for ; Tue, 2 Jun 2020 01:17:17 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id C17A686099; Mon, 1 Jun 2020 15:17:15 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nbF4EiDdWdSW; Mon, 1 Jun 2020 15:17:14 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id B2374860EF; Mon, 1 Jun 2020 15:17:14 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id F0DEF1BF96B for ; Mon, 1 Jun 2020 15:17:11 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id EDE67860EF for ; Mon, 1 Jun 2020 15:17:11 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6B1QckCd0p8N for ; Mon, 1 Jun 2020 15:17:10 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from ssl.serverraum.org (ssl.serverraum.org [176.9.125.105]) by fraxinus.osuosl.org (Postfix) with ESMTPS id D3B9C86099 for ; Mon, 1 Jun 2020 15:17:09 +0000 (UTC) Received: from apollo.fritz.box (unknown [IPv6:2a02:810c:c200:2e91:6257:18ff:fec4:ca34]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ssl.serverraum.org (Postfix) with ESMTPSA id CC5FC22178; Mon, 1 Jun 2020 17:17:06 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=walle.cc; s=mail2016061301; t=1591024627; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=o8g3X/0y5v8IzVSz90+Gvd5aRtYmkknduya8rPN8Okg=; b=njjZqcq9qfQ898v//EIYn1J0zJGbm8hUMxpQC/zWOb803fMlI69sHnQvs9wV5VqMB7ItXc 3/Nag4oljNTI1RVE36TVxObwqZyu3LmpnD8X2RppuB+Xw0w916ys6b5ejnv9ZZapjbSth5 7tH59hs6R5Qw5T552nQ07HNjA7F8TUU= From: Michael Walle To: buildroot@buildroot.org Date: Mon, 1 Jun 2020 17:16:59 +0200 Message-Id: <20200601151701.21569-1-michael@walle.cc> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-Spam: Yes Subject: [Buildroot] [PATCH for-next v4 1/3] {linux, linux-headers}: add version 5.7 X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Yann E . MORIN" , Michael Walle , Thomas Petazzoni , Romain Naour , Heiko Thiery , Thomas De Schampheleire Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Signed-off-by: Michael Walle --- This is a prerequisite for the sl28 board support which needs at least kernel 5.7, thus pack it into one series. This is a new patch and thus, there is no former version. This patch can also be picked early, before the other two patches. Changes since v3: new patch linux/Config.in | 4 ++-- linux/linux.hash | 1 + package/linux-headers/Config.in.host | 13 +++++++++++-- toolchain/Config.in | 5 +++++ .../toolchain-external-custom/Config.in.options | 6 +++++- 5 files changed, 24 insertions(+), 5 deletions(-) diff --git a/linux/Config.in b/linux/Config.in index d7373ab25a..e335931575 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -27,7 +27,7 @@ choice prompt "Kernel version" config BR2_LINUX_KERNEL_LATEST_VERSION - bool "Latest version (5.6)" + bool "Latest version (5.7)" config BR2_LINUX_KERNEL_LATEST_CIP_VERSION bool "Latest CIP SLTS version (4.19.98-cip19)" @@ -128,7 +128,7 @@ endif config BR2_LINUX_KERNEL_VERSION string - default "5.6.7" if BR2_LINUX_KERNEL_LATEST_VERSION + default "5.7" if BR2_LINUX_KERNEL_LATEST_VERSION default "4.19.98-cip19" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION default "4.19.98-cip19-rt7" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ diff --git a/linux/linux.hash b/linux/linux.hash index 0449be680d..c9fb7edb4f 100644 --- a/linux/linux.hash +++ b/linux/linux.hash @@ -1,4 +1,5 @@ # From https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc +sha256 de8163bb62f822d84f7a3983574ec460060bf013a78ff79cd7c979ff1ec1d7e0 linux-5.7.tar.xz sha256 23a0420f29eacb66d71f86f64fbd35a1b6ff617d520e3e05f3e1f537d46692ca linux-5.6.7.tar.xz sha256 1448334371fb52f511255726832464d33877a210a7350260fb18eb225ae211eb linux-5.5.19.tar.xz sha256 e16bd5f7284a80a41328bf712e1136b0adf5b71cc0bd263efa7cac75539806d4 linux-5.4.35.tar.xz diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index c6ba8469fd..8e3663481f 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -6,7 +6,7 @@ config BR2_PACKAGE_HOST_LINUX_HEADERS choice prompt "Kernel Headers" default BR2_KERNEL_HEADERS_AS_KERNEL if BR2_LINUX_KERNEL - default BR2_KERNEL_HEADERS_5_6 + default BR2_KERNEL_HEADERS_5_7 help Select the kernel version to get headers from. @@ -63,6 +63,10 @@ config BR2_KERNEL_HEADERS_5_6 bool "Linux 5.6.x kernel headers" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6 +config BR2_KERNEL_HEADERS_5_7 + bool "Linux 5.7.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7 + config BR2_KERNEL_HEADERS_VERSION bool "Manually specified Linux version" help @@ -135,8 +139,12 @@ choice If your kernel headers are more recent than the latest version in the choice, then select the latest version. +config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_7 + bool "5.7.x or later" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7 + config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_6 - bool "5.6.x or later" + bool "5.6.x" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6 config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_5 @@ -341,6 +349,7 @@ config BR2_DEFAULT_KERNEL_HEADERS default "5.4.35" if BR2_KERNEL_HEADERS_5_4 default "5.5.19" if BR2_KERNEL_HEADERS_5_5 default "5.6.7" if BR2_KERNEL_HEADERS_5_6 + default "5.7" if BR2_KERNEL_HEADERS_5_7 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 \ diff --git a/toolchain/Config.in b/toolchain/Config.in index b6bcde4a95..6865199ffc 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -476,6 +476,10 @@ config BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_5 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6 bool select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_5 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6 select BR2_TOOLCHAIN_HEADERS_LATEST # This should be selected by the latest version, above, to indicate that @@ -489,6 +493,7 @@ config BR2_TOOLCHAIN_HEADERS_LATEST # stops affecting a value on the first matching default. config BR2_TOOLCHAIN_HEADERS_AT_LEAST string + default "5.7" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7 default "5.6" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6 default "5.5" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_5 default "5.4" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options index 9a8078d314..a4430f7169 100644 --- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options +++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options @@ -115,8 +115,12 @@ choice If your toolchain uses headers newer than the latest version in the choice, then select the latest version. +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_7 + bool "5.7.x or later" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7 + config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_6 - bool "5.6.x or later" + bool "5.6.x" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_5 From patchwork Mon Jun 1 15:17:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Walle X-Patchwork-Id: 1301799 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.138; helo=whitealder.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=walle.cc Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; secure) header.d=walle.cc header.i=@walle.cc header.a=rsa-sha256 header.s=mail2016061301 header.b=W2/DqrBn; dkim-atps=neutral Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49bJgg5C1yz9sSg for ; Tue, 2 Jun 2020 01:17:19 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 4369486DFC; Mon, 1 Jun 2020 15:17:16 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6nFYsB74Ku4K; Mon, 1 Jun 2020 15:17:13 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id B41FC86DAB; Mon, 1 Jun 2020 15:17:13 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id CAAA01BF2C1 for ; Mon, 1 Jun 2020 15:17:11 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id C1FBE203B5 for ; Mon, 1 Jun 2020 15:17:11 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5OMqotSDFaqj for ; Mon, 1 Jun 2020 15:17:10 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from ssl.serverraum.org (ssl.serverraum.org [176.9.125.105]) by silver.osuosl.org (Postfix) with ESMTPS id C6C762002A for ; Mon, 1 Jun 2020 15:17:09 +0000 (UTC) Received: from apollo.fritz.box (unknown [IPv6:2a02:810c:c200:2e91:6257:18ff:fec4:ca34]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ssl.serverraum.org (Postfix) with ESMTPSA id 1A4D8224A1; Mon, 1 Jun 2020 17:17:08 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=walle.cc; s=mail2016061301; t=1591024628; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VrrUJzR3wTNGD4jhpOczqr9NjsGB8RYZ4SBq7rvX9/M=; b=W2/DqrBnH/J8+WfeT0zW8cMgAUxsYNt8/WHAcqb+WtDUO31jp5SYdd0STlT5rfyVuyNL0V 3Pj1x18/2vsaNwy2his+GhAvYoNLuIkxnFFLaMcMTn8VdclMxJGBPyu+3OAX5d8c5046fC pStsz54i6SOmKooQm3jZwJdXd1ALj8I= From: Michael Walle To: buildroot@buildroot.org Date: Mon, 1 Jun 2020 17:17:00 +0200 Message-Id: <20200601151701.21569-2-michael@walle.cc> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200601151701.21569-1-michael@walle.cc> References: <20200601151701.21569-1-michael@walle.cc> MIME-Version: 1.0 X-Spam: Yes Subject: [Buildroot] [PATCH for-next v4 2/3] linux: introduce BR2_KERNEL_DTB_KEEP_DIRNAME X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Heiko Thiery , Michael Walle , "Yann E . MORIN" Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" In linux, newer architectures like ARM64 and RISC-V keep their device tree sources organized by subdirectories. When these device trees are installed by the kernel they will keep the directory names. But buildroot strips the prefixes when installing them into /boot or the images directory. Sometimes the bootloader references the device tree by name (e.g. u-boot has the environment variable 'fdtfile') which also includes the prefix directory. Make it possible to keep this prefix during installation, so we can be compatible with other distributions and make it easier for the user, because he doesn't have to change that environment variable. Signed-off-by: Michael Walle --- Hi, formerly, this was a seperate patch. But because the sl28 board also needs another patch now, I combined all of them into one patch series. So actually, there is no v2, nor a v3 of this patch. Changes since v3: none Changes since v2: none linux/Config.in | 7 +++++++ linux/linux.mk | 10 ++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/linux/Config.in b/linux/Config.in index e335931575..814e6ceded 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -407,6 +407,13 @@ config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH You can provide a list of dts paths to copy and build, separated by spaces. +config BR2_KERNEL_DTB_KEEP_DIRNAME + bool "Keep the directory name of the Device Tree" + help + If enabled, the device tree blobs keep their + directory prefixes when they get copied to the + output image directory or the target directory. + config BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT bool "Build Device Tree with overlay support" help diff --git a/linux/linux.mk b/linux/linux.mk index 60dc343efa..c6ad9e432e 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -377,10 +377,12 @@ endef ifeq ($(BR2_LINUX_KERNEL_APPENDED_DTB),) define LINUX_INSTALL_DTB # dtbs moved from arch//boot to arch//boot/dts since 3.8-rc1 - cp $(addprefix \ - $(LINUX_ARCH_PATH)/boot/$(if $(wildcard \ - $(addprefix $(LINUX_ARCH_PATH)/boot/dts/,$(LINUX_DTBS))),dts/),$(LINUX_DTBS)) \ - $(1) + $(foreach dtb,$(LINUX_DTBS), \ + install -D $(addprefix \ + $(LINUX_ARCH_PATH)/boot/$(if $(wildcard \ + $(addprefix $(LINUX_ARCH_PATH)/boot/dts/,$(dtb))),dts/),$(dtb)) \ + $(1)/$(if $(BR2_KERNEL_DTB_KEEP_DIRNAME),$(dtb),$(notdir $(dtb))) + ) endef endif # BR2_LINUX_KERNEL_APPENDED_DTB endif # BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT From patchwork Mon Jun 1 15:17:01 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Michael Walle X-Patchwork-Id: 1301800 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.136; helo=silver.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=walle.cc Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; secure) header.d=walle.cc header.i=@walle.cc header.a=rsa-sha256 header.s=mail2016061301 header.b=nY2VQE+a; dkim-atps=neutral Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49bJgj6LWzz9sSy for ; Tue, 2 Jun 2020 01:17:21 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 8E89620433; Mon, 1 Jun 2020 15:17:19 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qgJfmWbif9xN; Mon, 1 Jun 2020 15:17:15 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id AFE0E203B5; Mon, 1 Jun 2020 15:17:15 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 20C481BF2C1 for ; Mon, 1 Jun 2020 15:17:14 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 1D1D386DDE for ; Mon, 1 Jun 2020 15:17:14 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id s-DbKHlq4QY4 for ; Mon, 1 Jun 2020 15:17:11 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from ssl.serverraum.org (ssl.serverraum.org [176.9.125.105]) by whitealder.osuosl.org (Postfix) with ESMTPS id 7623386499 for ; Mon, 1 Jun 2020 15:17:11 +0000 (UTC) Received: from apollo.fritz.box (unknown [IPv6:2a02:810c:c200:2e91:6257:18ff:fec4:ca34]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ssl.serverraum.org (Postfix) with ESMTPSA id BD24C22F53; Mon, 1 Jun 2020 17:17:08 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=walle.cc; s=mail2016061301; t=1591024628; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fyOqcNktV9sdeo1rtDhxsUmhWnAP7bz0yenvJL5iIZM=; b=nY2VQE+au5ejuprQjUF1Si4PHGNa4xk125C2mQgjXkXMwd8d1TcnH2j16Bb0TThv0RsBb4 /2KqqMvZKnftPokQEF310WzjWAa0U410buW8ftWetVRMtlnQpRj0i2ocuZM4B6QzMfOYTu NgCTrZR5rHEGjm5FpPLlAbqa9309uss= From: Michael Walle To: buildroot@buildroot.org Date: Mon, 1 Jun 2020 17:17:01 +0200 Message-Id: <20200601151701.21569-3-michael@walle.cc> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200601151701.21569-1-michael@walle.cc> References: <20200601151701.21569-1-michael@walle.cc> MIME-Version: 1.0 Subject: [Buildroot] [PATCH for-next v4 3/3] board: Add Kontron SMARC-sAL28 support X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Heiko Thiery , Michael Walle , "Yann E . MORIN" Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Now that upstream supports this board add buildroot support for it, too. This supports: - latest upstream linux kernel. Since the support for this board and its SoC is still in active development, we want to follow the upstream kernel releases for now. - building an image which can be installed to eMMC, SD card or USB thumb drive. - upstream u-boot patches are pending, therefore no support for building a bootloader for now. Signed-off-by: Michael Walle Reviewed-by: Heiko Thiery Tested-by: Heiko Thiery --- Changes since v3: - removed custom kernel version, instead use the latest 5.7 kernel Changes since v2: - added udev rules 71-smarc-networking.rules, to rename the network interfaces according to the SMARC specification. - removed arm-smmu.disable_bypass=n kernel paramter, since the real fix is now upstream and will be included in 5.7 - use full path in PARTUUID="$($HOST_DIR/bin/uuidgen)" to be sure we are using our own uuidgen - mention fdtfile in readme.txt - fixed typo in readme.txt - mention non-working network with vendor's bootloader in readme.txt - set BR2_KERNEL_DTB_KEEP_DIRNAME=y Changes since v1: - added readme.txt - changed from u-boot boot script to extlinux.conf booting - enable eudev and added udev rules to properly name network interfaces - removed CONFIG_FSL_ENETC_HW_TIMESTAMPING=y - added CONFIG_NET_SCH_CBS, CONFIG_NET_SCH_ETF, CONFIG_NET_SCH_TAPRIO, CONFIG_FSL_ENETC_QOS and iproute2, as this it the main feature of this board - added var2 device tree - generate PARTUUID in post-build.sh to be able to use the resulting image on any block device which the board supports for booting - (keep post-build.sh for consistency reasons) DEVELOPERS | 2 + board/kontron/smarc-sal28/extlinux.conf | 4 + board/kontron/smarc-sal28/genimage.cfg | 11 +++ board/kontron/smarc-sal28/linux.fragment | 18 +++++ board/kontron/smarc-sal28/post-build.sh | 7 ++ board/kontron/smarc-sal28/readme.txt | 80 +++++++++++++++++++ .../udev/rules.d/70-enetc-networking.rules | 8 ++ .../udev/rules.d/70-felix-networking.rules | 6 ++ .../udev/rules.d/71-smarc-networking.rules | 19 +++++ configs/kontron_smarc_sal28_defconfig | 22 +++++ 10 files changed, 177 insertions(+) create mode 100644 board/kontron/smarc-sal28/extlinux.conf create mode 100644 board/kontron/smarc-sal28/genimage.cfg create mode 100644 board/kontron/smarc-sal28/linux.fragment create mode 100755 board/kontron/smarc-sal28/post-build.sh create mode 100644 board/kontron/smarc-sal28/readme.txt create mode 100644 board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/70-enetc-networking.rules create mode 100644 board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/70-felix-networking.rules create mode 100644 board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/71-smarc-networking.rules create mode 100644 configs/kontron_smarc_sal28_defconfig diff --git a/DEVELOPERS b/DEVELOPERS index 04811b6288..15b0cbdc0c 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1837,6 +1837,8 @@ F: package/jasper/ F: package/libstrophe/ N: Michael Walle +F: board/kontron/smarc-sal28/ +F: configs/kontron_smarc_sal28_defconfig F: package/libavl/ N: Michał Łyszczek diff --git a/board/kontron/smarc-sal28/extlinux.conf b/board/kontron/smarc-sal28/extlinux.conf new file mode 100644 index 0000000000..bf60bc3798 --- /dev/null +++ b/board/kontron/smarc-sal28/extlinux.conf @@ -0,0 +1,4 @@ +label buildroot + kernel /boot/Image + devicetreedir /boot + append root=PARTUUID=%PARTUUID% rootwait diff --git a/board/kontron/smarc-sal28/genimage.cfg b/board/kontron/smarc-sal28/genimage.cfg new file mode 100644 index 0000000000..9ef37de757 --- /dev/null +++ b/board/kontron/smarc-sal28/genimage.cfg @@ -0,0 +1,11 @@ +image sdcard-emmc.img { + hdimage { + gpt = true + } + + partition rootfs { + offset = 2M + image = rootfs.ext4 + partition-uuid = %PARTUUID% + } +} diff --git a/board/kontron/smarc-sal28/linux.fragment b/board/kontron/smarc-sal28/linux.fragment new file mode 100644 index 0000000000..00bbcc0923 --- /dev/null +++ b/board/kontron/smarc-sal28/linux.fragment @@ -0,0 +1,18 @@ +CONFIG_NET_DSA=m +CONFIG_NET_DSA_TAG_OCELOT=m +CONFIG_NET_DSA_MSCC_FELIX=m +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_CBS=m +CONFIG_NET_SCH_ETF=m +CONFIG_NET_SCH_TAPRIO=m +CONFIG_CAN_FLEXCAN=m +CONFIG_FSL_ENETC=y +CONFIG_FSL_ENETC_VF=m +CONFIG_FSL_ENETC_QOS=y +CONFIG_MSCC_OCELOT_SWITCH=m +CONFIG_PCIE_DW_PLAT_HOST=y +CONFIG_GPIO_MPC8XXX=y +CONFIG_SND_SOC_FSL_SAI=m +CONFIG_SND_SOC_WM8904=m +CONFIG_RTC_DRV_RV8803=y +CONFIG_COMMON_CLK_FSL_SAI=y diff --git a/board/kontron/smarc-sal28/post-build.sh b/board/kontron/smarc-sal28/post-build.sh new file mode 100755 index 0000000000..bf8861f6a9 --- /dev/null +++ b/board/kontron/smarc-sal28/post-build.sh @@ -0,0 +1,7 @@ +#!/bin/sh +BOARD_DIR="$(dirname $0)" +PARTUUID="$($HOST_DIR/bin/uuidgen)" + +install -d "$TARGET_DIR/boot/extlinux/" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/extlinux.conf" > "$TARGET_DIR/boot/extlinux/extlinux.conf" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/genimage.cfg" > "$BINARIES_DIR/genimage.cfg" diff --git a/board/kontron/smarc-sal28/readme.txt b/board/kontron/smarc-sal28/readme.txt new file mode 100644 index 0000000000..231c751b66 --- /dev/null +++ b/board/kontron/smarc-sal28/readme.txt @@ -0,0 +1,80 @@ +Kontron SMARC-sAL28 +=================== + +How to build it +=============== + +Configure Buildroot: + + $ make kontron_smarc_sal28_defconfig + +Change settings to fit your needs (optional): + + $ make menuconfig + +Compile everything and build the rootfs image: + + $ make + +Copying the image to a storage device +===================================== + +Buildroot builds an image which can be written to the internal eMMC +storage, a SD card or an USB thumb drive. You can use the following +command on your host: + + $ sudo dd if=output/images/sdcard-emmc.img of=/dev/sdx bs=1M + +Where /dev/sdx is the corresponding block device of your SD card or USB +thumb drive. To flash it on your internal eMMC use the following command on +the board: + + # dd if=sdcard-emmc.img of=/dev/mmcblk1 bs=1M + +Be sure you have not booted from the internal eMMC in this case! + +Booting the board +================= + +By default the bootloader will search for the first valid image, starting +with the internal eMMC. Consult the vendor documentation on how to use the +DIP switches to select specific boot devices. To use the bootloader +environment set the boot_targets correspondingly. E.g.: + + # setenv boot_targets usb0 + +To boot from an USB thumb drive. + +The device tree is loaded according to the filename in fdtfile. The +following command will set the default device tree, which works on almost +all variants (with less features of course): + + # setenv fdtfile freescale/fsl-ls1028a-kontron-sl28.dtb + +Set this to a device tree which fits your board variant. + +Connect your serial cable to SER1 and open your favorite terminal emulation +program (baudrate 115200, 8n1). E.g.: + + $ picocom -b 115200 /dev/ttyUSB0 + +You will get a warning reported by fdisk when you examine the SD card. +This is because the genimage.cfg file doesn't specify the SD card size +(as people will naturally have different sized cards), so the +secondary GPT header is placed after the rootfs rather than at the end +of the disk where it is expected to be. + +You will see something like this at boot time: + +[ 4.552797] GPT:Primary header thinks Alt. header is not at the end of the disk. +[ 4.560237] GPT:266272 != 7864319 +[ 4.563565] GPT:Alternate GPT header not at the end of the disk. +[ 4.569596] GPT:266272 != 7864319 +[ 4.572925] GPT: Use GNU Parted to correct GPT errors. + +What does not work +================== + +For reasons unknown, the network card doesn't work if you use the original +vendor bootloader. Board support patches for upstream u-boot are currently +pending. Stay tuned. diff --git a/board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/70-enetc-networking.rules b/board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/70-enetc-networking.rules new file mode 100644 index 0000000000..8774bc5581 --- /dev/null +++ b/board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/70-enetc-networking.rules @@ -0,0 +1,8 @@ +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.0", DRIVERS=="fsl_enetc", NAME="eno0" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.1", DRIVERS=="fsl_enetc", NAME="eno1" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.2", DRIVERS=="fsl_enetc", NAME="eno2" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.6", DRIVERS=="fsl_enetc", NAME="eno3" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.0", DRIVERS=="fsl_enetc_vf", NAME="eno0vf0" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.1", DRIVERS=="fsl_enetc_vf", NAME="eno0vf1" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.2", DRIVERS=="fsl_enetc_vf", NAME="eno1vf0" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.3", DRIVERS=="fsl_enetc_vf", NAME="eno1vf1" diff --git a/board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/70-felix-networking.rules b/board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/70-felix-networking.rules new file mode 100644 index 0000000000..917c0244ab --- /dev/null +++ b/board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/70-felix-networking.rules @@ -0,0 +1,6 @@ +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p0", NAME="swp0" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p1", NAME="swp1" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p2", NAME="swp2" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p3", NAME="swp3" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p4", NAME="swp4" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p5", NAME="swp5" diff --git a/board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/71-smarc-networking.rules b/board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/71-smarc-networking.rules new file mode 100644 index 0000000000..8c946b05fe --- /dev/null +++ b/board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/71-smarc-networking.rules @@ -0,0 +1,19 @@ +# Map the GBE0 and GBE1 names from the SMARC standard to the network +# interfaces. This depends on the variant of the board. + +# get the variant compatible string +PROGRAM=="/bin/grep '^kontron,sl28-var[1-4]$' /sys/firmware/devicetree/base/compatible", ENV{sl28_compatible}="%c" + +# variant 1 +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.1", DRIVERS=="fsl_enetc", ENV{sl28_compatible}=="kontron,sl28-var1", NAME="gbe0" + +# variant 2 +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p0", ENV{sl28_compatible}=="kontron,sl28-var2", NAME="gbe0" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p1", ENV{sl28_compatible}=="kontron,sl28-var2", NAME="gbe1" + +# variant 3 +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.0", DRIVERS=="fsl_enetc", ENV{sl28_compatible}=="kontron,sl28-var3", NAME="gbe0" + +# variant 4 +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.0", DRIVERS=="fsl_enetc", ENV{sl28_compatible}=="kontron,sl28-var4", NAME="gbe0" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.1", DRIVERS=="fsl_enetc", ENV{sl28_compatible}=="kontron,sl28-var4", NAME="gbe1" diff --git a/configs/kontron_smarc_sal28_defconfig b/configs/kontron_smarc_sal28_defconfig new file mode 100644 index 0000000000..8c6a9f249f --- /dev/null +++ b/configs/kontron_smarc_sal28_defconfig @@ -0,0 +1,22 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_TOOLCHAIN_BUILDROOT_WCHAR=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_ROOTFS_OVERLAY="board/kontron/smarc-sal28/rootfs_overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/kontron/smarc-sal28/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/kontron/smarc-sal28/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1028a-kontron-sl28 freescale/fsl-ls1028a-kontron-sl28-var2 freescale/fsl-ls1028a-kontron-sl28-var3-ads2 freescale/fsl-ls1028a-kontron-sl28-var4 freescale/fsl-ls1028a-kontron-kbox-a-230-ls" +BR2_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_IPROUTE2=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="128M" +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y