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]] -=-=-=-=-=-=-=-=-=-=-=-
