On Tue, Apr 14, 2020 at 12:02 PM Joshua Watt <[email protected]> wrote:
>
>
> On 4/14/20 10:48 AM, Khem Raj wrote:
> > On Tue, Apr 14, 2020 at 6:32 AM Joshua Watt <[email protected]> wrote:
> >> Updates all machines to use the linux-yocto kernel from OE-core instead
> >> of maintaining distinct kernels in this repository.
> >>
> >> Signed-off-by: Joshua Watt <[email protected]>
> >> ---
> >>   conf/machine/include/rk3288.inc               |  2 +-
> >>   conf/machine/include/rockchip-defaults.inc    |  3 +-
> >>   ...-cfg-Allow-specification-of-ncurses-.patch | 51 -------------------
> >>   recipes-kernel/linux/linux-longterm_4.19.bb   |  9 ----
> >>   recipes-kernel/linux/linux-longterm_5.4.bb    |  7 ---
> >>   recipes-kernel/linux/linux-mainline_5.6.bb    |  9 ----
> >>   recipes-kernel/linux/linux-mutual.inc         | 18 -------
> >>   recipes-kernel/linux/linux-stable_5.5.bb      |  7 ---
> >>   ...-Keep-rk3288-tinker-SD-card-IO-power.patch | 31 +++++++++++
> >>   recipes-kernel/linux/linux-yocto_%.bbappend   |  2 +
> >>   recipes-kernel/linux/linux-yocto_5.4.bbappend |  5 ++
> >>   11 files changed, 41 insertions(+), 103 deletions(-)
> >>   delete mode 100644 
> >> recipes-kernel/linux/files/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch
> >>   delete mode 100644 recipes-kernel/linux/linux-longterm_4.19.bb
> >>   delete mode 100644 recipes-kernel/linux/linux-longterm_5.4.bb
> >>   delete mode 100644 recipes-kernel/linux/linux-mainline_5.6.bb
> >>   delete mode 100644 recipes-kernel/linux/linux-mutual.inc
> >>   delete mode 100644 recipes-kernel/linux/linux-stable_5.5.bb
> >>   create mode 100644 
> >> recipes-kernel/linux/linux-yocto/0001-ARM-dts-rockchip-Keep-rk3288-tinker-SD-card-IO-power.patch
> >>   create mode 100644 recipes-kernel/linux/linux-yocto_%.bbappend
> >>   create mode 100644 recipes-kernel/linux/linux-yocto_5.4.bbappend
> >>
> > I think another solution could be to use yocto kernel tooling but
> > point to mainline kernels much like what meta-meson [1] is doing
> > this will let you keep bumping to latest releases from mainline, this
> > approach is used by many other BSPs
> >
> > [1] 
> > https://github.com/superna9999/meta-meson/blob/master/recipes-kernel/linux/linux-yocto-meson64_5.4.bb
>
> My goal here was to minimize the maintenance required for this BSP layer
> to get newer kernels. Using the linux-yocto kernel in OE-core is quite
> simple (as this patch shows) and allows us to piggyback off of Bruce's
> work to keep everything up to date. While it is possible that OE-core
> accidentally breaks something in this layer with a kernel update, it
> seems likely this would be pretty rare and would probably require less
> overall work than maintaining our own kernel recipes, particularly for
> the set of boards in this BSP which have really good and stable support
> in the kernel.
>

You replied faster than I could, so I turfed my answer! See below.

>
> I think it should be possible to easily track the upstream vanilla
> kernel branches in the linux-yocto recipe, and Bruce has done some work
> to make this easier, but I think there might need to be little more work
> in that area before it's completely ready to go.

Everything is good go to go,  and I can point out what has been in place
for a while:  linux-yocto master is tracking mainline maser. No changes
and linux-yocto v<x.y>/base tracks -stable, no changes.

If you want to pick up the bare minimum of boot fixes, or some of the
filesystem features v<x.y>/standard/base.
Any significant bsp or board changes are always isolated in their own branch.

As Joshua said, chasing a bunch of different versions (even if they are
all pointing to the same upstream, (linux-yocto included)) does mean
that there is variance, duplicated sanity and the need to chuck patches
around.  i.e. you'll get all the CVEs (that could be outside of
-stable), -stable,
etc, at the same pace as other boards. I don't see that as a bad thing, but
of course, opinions vary :D

If it makes things even easier, I could create a linux-yocto-mainline
(recipe name off the top of my head) and it would just be the linux-yocto
recipe pointing KBRANCH to master, or v<x.y>/base, no other changes.
I'm sensitive to creating too many kernel recipes since it then becomes
more confusing to pick the right thing .. but doing it the way I mention means
that the breakage/QA/update follows the linux-yocto jumps and is very little
extra effort.

Cheers,

Bruce

>
> >> diff --git a/conf/machine/include/rk3288.inc 
> >> b/conf/machine/include/rk3288.inc
> >> index a7edac5..480e250 100644
> >> --- a/conf/machine/include/rk3288.inc
> >> +++ b/conf/machine/include/rk3288.inc
> >> @@ -7,7 +7,7 @@ require conf/machine/include/tune-cortexa17.inc
> >>   require conf/machine/include/soc-family.inc
> >>   require conf/machine/include/rockchip-defaults.inc
> >>
> >> -KBUILD_DEFCONFIG = "multi_v7_defconfig"
> >> +KBUILD_DEFCONFIG ?= "multi_v7_defconfig"
> >>   KERNEL_IMAGETYPE = "zImage"
> >>
> >>   SERIAL_CONSOLES = "115200;ttyS2"
> >> diff --git a/conf/machine/include/rockchip-defaults.inc 
> >> b/conf/machine/include/rockchip-defaults.inc
> >> index 82fd590..a4e2a2c 100644
> >> --- a/conf/machine/include/rockchip-defaults.inc
> >> +++ b/conf/machine/include/rockchip-defaults.inc
> >> @@ -1,7 +1,8 @@
> >>   # meta-rockchip default settings
> >>
> >>   # kernel
> >> -PREFERRED_PROVIDER_virtual/kernel ?= "linux-stable"
> >> +PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
> >> +KCONFIG_MODE ?= "alldefconfig"
> >>   LINUX_VERSION_EXTENSION ?= "-rockchip"
> >>
> >>   # xserver
> >> diff --git 
> >> a/recipes-kernel/linux/files/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch
> >>  
> >> b/recipes-kernel/linux/files/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch
> >> deleted file mode 100644
> >> index 0b2d077..0000000
> >> --- 
> >> a/recipes-kernel/linux/files/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch
> >> +++ /dev/null
> >> @@ -1,51 +0,0 @@
> >> -From 846b11d8c834af4fa62393dadb490ea8246b332c Mon Sep 17 00:00:00 2001
> >> -From: Bruce Ashfield <[email protected]>
> >> -Date: Mon, 2 Jul 2018 23:10:28 -0400
> >> -Subject: [PATCH] menuconfig,mconf-cfg: Allow specification of ncurses 
> >> location
> >> -
> >> -In some cross build environments such as the Yocto Project build
> >> -environment it provides an ncurses library that is compiled
> >> -differently than the host's version.  This causes display corruption
> >> -problems when the host's curses includes are used instead of the
> >> -includes from the provided compiler are overridden.  There is a second
> >> -case where there is no curses libraries at all on the host system and
> >> -menuconfig will just fail entirely.
> >> -
> >> -The solution is simply to allow an override variable in
> >> -check-lxdialog.sh for environments such as the Yocto Project.  Adding
> >> -a CROSS_CURSES_LIB and CROSS_CURSES_INC solves the issue and allowing
> >> -compiling and linking against the right headers and libraries.
> >> -
> >> -Signed-off-by: Jason Wessel <[email protected]>
> >> -cc: Michal Marek <[email protected]>
> >> -cc: [email protected]
> >> -Signed-off-by: Bruce Ashfield <[email protected]>
> >> ----
> >> - scripts/kconfig/mconf-cfg.sh | 8 ++++++++
> >> - 1 file changed, 8 insertions(+)
> >> - mode change 100755 => 100644 scripts/kconfig/mconf-cfg.sh
> >> -
> >> -diff --git a/scripts/kconfig/mconf-cfg.sh b/scripts/kconfig/mconf-cfg.sh
> >> -old mode 100755
> >> -new mode 100644
> >> -index c812872d7f9d..65a9b9e5b8a6
> >> ---- a/scripts/kconfig/mconf-cfg.sh
> >> -+++ b/scripts/kconfig/mconf-cfg.sh
> >> -@@ -4,6 +4,14 @@
> >> - PKG="ncursesw"
> >> - PKG2="ncurses"
> >> -
> >> -+if [ "$CROSS_CURSES_LIB" != "" ]; then
> >> -+    echo libs=\'$CROSS_CURSES_LIB\'
> >> -+    if [ x"$CROSS_CURSES_INC" != x ]; then
> >> -+      echo cflags=\'$CROSS_CURSES_INC\'
> >> -+    fi
> >> -+    exit 0
> >> -+fi
> >> -+
> >> - if [ -n "$(command -v pkg-config)" ]; then
> >> -       if pkg-config --exists $PKG; then
> >> -               echo cflags=\"$(pkg-config --cflags $PKG)\"
> >> ---
> >> -2.20.1
> >> -
> >> diff --git a/recipes-kernel/linux/linux-longterm_4.19.bb 
> >> b/recipes-kernel/linux/linux-longterm_4.19.bb
> >> deleted file mode 100644
> >> index 11c18e3..0000000
> >> --- a/recipes-kernel/linux/linux-longterm_4.19.bb
> >> +++ /dev/null
> >> @@ -1,9 +0,0 @@
> >> -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
> >> -
> >> -LINUX_VERSION ?= "4.19.113"
> >> -KBRANCH ?= "linux-4.19.y"
> >> -SRCREV ?= "54b4fa6d39551639cb10664f6ac78b01993a1d7e"
> >> -
> >> -require linux-mutual.inc
> >> -
> >> -COMPATIBLE_MACHINE = 
> >> "(firefly-rk3288|marsboard-rk3066|radxarock|rock2-square|^tinker-board$|vyasa-rk3288)"
> >> diff --git a/recipes-kernel/linux/linux-longterm_5.4.bb 
> >> b/recipes-kernel/linux/linux-longterm_5.4.bb
> >> deleted file mode 100644
> >> index 60be6fe..0000000
> >> --- a/recipes-kernel/linux/linux-longterm_5.4.bb
> >> +++ /dev/null
> >> @@ -1,7 +0,0 @@
> >> -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
> >> -
> >> -LINUX_VERSION ?= "5.4.28"
> >> -KBRANCH ?= "linux-5.4.y"
> >> -SRCREV ?= "462afcd6e7ea94a7027a96a3bb12d0140b0b4216"
> >> -
> >> -require linux-mutual.inc
> >> diff --git a/recipes-kernel/linux/linux-mainline_5.6.bb 
> >> b/recipes-kernel/linux/linux-mainline_5.6.bb
> >> deleted file mode 100644
> >> index 8d33590..0000000
> >> --- a/recipes-kernel/linux/linux-mainline_5.6.bb
> >> +++ /dev/null
> >> @@ -1,9 +0,0 @@
> >> -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
> >> -
> >> -LINUX_VERSION ?= "5.6-rc7"
> >> -KBRANCH ?= "master"
> >> -SRCREV ?= "16fbf79b0f83bc752cee8589279f1ebfe57b3b6e"
> >> -
> >> -require linux-mutual.inc
> >> -
> >> -LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
> >> diff --git a/recipes-kernel/linux/linux-mutual.inc 
> >> b/recipes-kernel/linux/linux-mutual.inc
> >> deleted file mode 100644
> >> index ba3ab6e..0000000
> >> --- a/recipes-kernel/linux/linux-mutual.inc
> >> +++ /dev/null
> >> @@ -1,18 +0,0 @@
> >> -DESCRIPTION = "Linux Kernel"
> >> -SECTION = "kernel"
> >> -LICENSE = "GPLv2"
> >> -
> >> -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
> >> -
> >> -SRC_URI = " \
> >> -    
> >> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git;branch=${KBRANCH}
> >>  \
> >> -    
> >> file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch \
> >> -    "
> >> -
> >> -inherit kernel
> >> -require recipes-kernel/linux/linux-yocto.inc
> >> -
> >> -PV = "${LINUX_VERSION}+git${SRCPV}"
> >> -
> >> -KCONF_BSP_AUDIT_LEVEL = "0"
> >> -deltask kernel_configme
> >> diff --git a/recipes-kernel/linux/linux-stable_5.5.bb 
> >> b/recipes-kernel/linux/linux-stable_5.5.bb
> >> deleted file mode 100644
> >> index b5c7cdc..0000000
> >> --- a/recipes-kernel/linux/linux-stable_5.5.bb
> >> +++ /dev/null
> >> @@ -1,7 +0,0 @@
> >> -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
> >> -
> >> -LINUX_VERSION ?= "5.5.13"
> >> -KBRANCH ?= "linux-5.5.y"
> >> -SRCREV ?= "fe5ae687d01e74854ed33666c932a9c11e22139c"
> >> -
> >> -require linux-mutual.inc
> >> diff --git 
> >> a/recipes-kernel/linux/linux-yocto/0001-ARM-dts-rockchip-Keep-rk3288-tinker-SD-card-IO-power.patch
> >>  
> >> b/recipes-kernel/linux/linux-yocto/0001-ARM-dts-rockchip-Keep-rk3288-tinker-SD-card-IO-power.patch
> >> new file mode 100644
> >> index 0000000..751f1ad
> >> --- /dev/null
> >> +++ 
> >> b/recipes-kernel/linux/linux-yocto/0001-ARM-dts-rockchip-Keep-rk3288-tinker-SD-card-IO-power.patch
> >> @@ -0,0 +1,31 @@
> >> +From 04ab2a1f052f363985b373f07ea71840918378d2 Mon Sep 17 00:00:00 2001
> >> +From: Joshua Watt <[email protected]>
> >> +Date: Wed, 19 Feb 2020 13:10:32 -0600
> >> +Subject: [PATCH] ARM: dts: rockchip: Keep rk3288-tinker SD card IO powered
> >> + during reboot
> >> +
> >> +IO voltage regulator for the SD card must be kept on all the time,
> >> +otherwise when the board reboots the SD card can't be read by the
> >> +bootloader.
> >> +
> >> +Signed-off-by: Joshua Watt <[email protected]>
> >> +Upstream-Status: Accepted in 5.7
> >> +---
> >> + arch/arm/boot/dts/rk3288-tinker.dtsi | 1 +
> >> + 1 file changed, 1 insertion(+)
> >> +
> >> +diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi 
> >> b/arch/arm/boot/dts/rk3288-tinker.dtsi
> >> +index 312582c1bd37..acfaa12ec239 100644
> >> +--- a/arch/arm/boot/dts/rk3288-tinker.dtsi
> >> ++++ b/arch/arm/boot/dts/rk3288-tinker.dtsi
> >> +@@ -276,6 +276,7 @@
> >> +                       };
> >> +
> >> +                       vccio_sd: LDO_REG5 {
> >> ++                              regulator-always-on;
> >> +                               regulator-boot-on;
> >> +                               regulator-min-microvolt = <1800000>;
> >> +                               regulator-max-microvolt = <3300000>;
> >> +--
> >> +2.17.1
> >> +
> >> diff --git a/recipes-kernel/linux/linux-yocto_%.bbappend 
> >> b/recipes-kernel/linux/linux-yocto_%.bbappend
> >> new file mode 100644
> >> index 0000000..97b8cda
> >> --- /dev/null
> >> +++ b/recipes-kernel/linux/linux-yocto_%.bbappend
> >> @@ -0,0 +1,2 @@
> >> +COMPATIBLE_MACHINE .= 
> >> "|firefly-rk3288|marsboard-rk3066|radxarock|rock-pi-4|rock2-square|tinker-board-s|tinker-board|vyasa-rk3288"
> >> +
> >> diff --git a/recipes-kernel/linux/linux-yocto_5.4.bbappend 
> >> b/recipes-kernel/linux/linux-yocto_5.4.bbappend
> >> new file mode 100644
> >> index 0000000..e832529
> >> --- /dev/null
> >> +++ b/recipes-kernel/linux/linux-yocto_5.4.bbappend
> >> @@ -0,0 +1,5 @@
> >> +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
> >> +
> >> +# tinker-board and tinker-board-s. rk3288 covers both
> >> +SRC_URI_append_rk3288 = " 
> >> file://0001-ARM-dts-rockchip-Keep-rk3288-tinker-SD-card-IO-power.patch"
> >> +
> >> --
> >> 2.17.1
> >>
> >>
> 



-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#49157): https://lists.yoctoproject.org/g/yocto/message/49157
Mute This Topic: https://lists.yoctoproject.org/mt/73010140/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to