what's the state of things with pushing the bounds on ASSUME_PROVIDED?
Robert P. J. Day
i asked about this once upon a time, so i thought i'd follow up ...
given the fairly stable state of recent linux distros, is there any standard for taking advantage of what *should* be robust native tools rather than building them? (i'm ignoring taking advantage of sstate and building SDKs and other clever speedups for now.) from scratch, i did a wind river (LINCD) build of wrlinux-image-small (and i assume it would be much the same under current oe-core), and i notice that numerous native tools were compiled, including such standards as cmake, curl, elfutils ... the list goes on and on. so other than the tools that are *required* to be installed, if i mention that i am currently running ubuntu 20.04, is there any indication as to which tools i'm relatively safe to take advantage using ASSUME_PROVIDED and HOSTTOOLS? i realize that the versions built will probably differ from the host versions, but it seems that if there is an incompatibility, that would be fairly obvious in short order. thoughts? rday
|
|
Florian Amstutz
Hi all,
Â
when I use "devtool deploy-target" with the --strip option in the eSDK, the ownership cannot be preserved during copying the files from "image" to "deploy-target-stripped":
Â
devtool deploy-target --strip --no-host-check --no-preserve less root@....2
cp: failed to preserve ownership for '/home/yocto/sdk/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/less/551-r0/deploy-target-stripped/usr/bin/less': Operation not permitted
cp: failed to preserve ownership for '/home/yocto/sdk/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/less/551-r0/deploy-target-stripped/usr/bin/lesskey': Operation not permitted
cp: failed to preserve ownership for '/home/yocto/sdk/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/less/551-r0/deploy-target-stripped/usr/bin/lessecho': Operation not permitted
cp: failed to preserve ownership for '/home/yocto/sdk/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/less/551-r0/deploy-target-stripped/usr/bin': Operation not permitted
cp: failed to preserve ownership for '/home/yocto/sdk/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/less/551-r0/deploy-target-stripped/usr/share/man/man1/less.1': Operation not permitted
cp: failed to preserve ownership for '/home/yocto/sdk/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/less/551-r0/deploy-target-stripped/usr/share/man/man1/lesskey.1': Operation not permitted
cp: failed to preserve ownership for '/home/yocto/sdk/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/less/551-r0/deploy-target-stripped/usr/share/man/man1/lessecho.1': Operation not permitted
cp: failed to preserve ownership for '/home/yocto/sdk/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/less/551-r0/deploy-target-stripped/usr/share/man/man1': Operation not permitted
cp: failed to preserve ownership for '/home/yocto/sdk/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/less/551-r0/deploy-target-stripped/usr/share/man': Operation not permitted
cp: failed to preserve ownership for '/home/yocto/sdk/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/less/551-r0/deploy-target-stripped/usr/share': Operation not permitted
cp: failed to preserve ownership for '/home/yocto/sdk/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/less/551-r0/deploy-target-stripped/usr': Operation not permitted
cp: failed to preserve ownership for '/home/yocto/sdk/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/less/551-r0/deploy-target-stripped': Operation not permitted
INFO: Successfully deployed /home/yocto/sdk/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/less/551-r0/deploy-target-stripped
Â
On the target, the deployed files have then the ownership of the eSDK user:
Â
root@qemu:~# ls -lah /usr/bin/less
-rwx------Â Â 1 1002Â Â Â 1003Â Â Â 116.7K Jun 24 08:53 /usr/bin/less
Â
Â
"devtool deploy-target" without the --strip option works as expected. The files are owned by root.
Â
The eSDK has been built and installed on the same machine (tested on Ubuntu 16.04, 18.04 and 20.04).
Used Yocto release: 3.1.8
Â
Thanks in advance for any help!
Â
Best regards,
Florian
|
|
Re: Integration of mpg321 in yocto zeus
Ross Burton <ross@...>
You asked this a week ago, and I answered then too.
toggle quoted messageShow quoted text
oe-core has mpg123. Is this not sufficient? Ross
On Thu, 24 Jun 2021 at 10:17, Poornesh <poornesh.g@...> wrote:
|
|
Re: [EXT] Re: [oe] [yocto] [meta-java] icedtea7 fetching error
Jose Quaresma
Hi Alejandro,
Alejandro Lozano Lozano <alejandro.lozano@...> escreveu no dia sexta, 18/06/2021 Ã (s) 14:08: This files are now on the yocto mirror https://downloads.yoctoproject.org/mirror/sources/f89009ada191.tar.bz2
-- Best regards, José Quaresma
|
|
Re: Integration of mpg321 in yocto zeus
Poornesh <poornesh.g@...>
Greetings ! If anyone achieved integrating the "mpg321" in yocto , requesting you to kindly share some inputs and procedure that need to be followed. --
Thanks in advance
|
|
[poky][PATCH] models: Add a new error type for check-layer
Thomas Perrot
Defines a new ErrorType and ERROR_TYPE_CHOICES, in order to support this kind of
errors. [YOCTO #14208] Signed-off-by: Thomas Perrot <thomas.perrot@...> --- Post/models.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Post/models.py b/Post/models.py index 3fa66f2198a4..b7a913c82359 100644 --- a/Post/models.py +++ b/Post/models.py @@ -15,6 +15,7 @@ import Levenshtein class ErrorType(object): RECIPE = 'recipe' + CHECK_LAYER = 'check-layer' CORE = 'core' BITBAKE_SELFTEST = 'bitbake-selftest' OE_SELFTEST = 'oe-selftest' @@ -26,6 +27,7 @@ class InvalidErrorType(Exception): class Build(models.Model): ERROR_TYPE_CHOICES = ( (ErrorType.RECIPE, 'Recipe'), + (ErrorType.CHECK_LAYER, 'check-layer'), (ErrorType.CORE, 'Core'), (ErrorType.BITBAKE_SELFTEST, 'Bitbake selftest'), (ErrorType.OE_SELFTEST, 'OE selftest'), -- 2.31.1
|
|
[PATCH V2][yocto-autobuilder-helper] summarize_top_output.py: add script, use it and publish summary
sakib.sajal@...
summarize_top_output.py is used to summarize the top
output that is captured during autobuilder intermittent failures. Use the script to summarize the host top output and publish the summary that is created instead of the raw logfile. Signed-off-by: Sakib Sajal <sakib.sajal@...> --- scripts/collect-results | 2 +- scripts/generate-testresult-index.py | 2 +- scripts/run-config | 1 + scripts/summarize_top_output.py | 176 +++++++++++++++++++++++++++ 4 files changed, 179 insertions(+), 2 deletions(-) create mode 100755 scripts/summarize_top_output.py diff --git a/scripts/collect-results b/scripts/collect-results index 7474e36..7178380 100755 --- a/scripts/collect-results +++ b/scripts/collect-results @@ -19,7 +19,7 @@ if [ -e $WORKDIR/buildhistory ]; then fi HSFILE=$WORKDIR/tmp/buildstats/*/host_stats -d=`date +%Y-%m-%d--%H-%M` +d="intermittent_failure_host_data" mkdir -p $DEST/$target/$d diff --git a/scripts/generate-testresult-index.py b/scripts/generate-testresult-index.py index 7fdc17c..d85d606 100755 --- a/scripts/generate-testresult-index.py +++ b/scripts/generate-testresult-index.py @@ -154,7 +154,7 @@ for build in sorted(os.listdir(path), key=keygen, reverse=True): hd = [] counter = 0 # do we really need the loop? - for p in glob.glob(buildpath + "/*/*/host_stats*top.txt"): + for p in glob.glob(buildpath + "/*/*/host_stats*top_summary.txt"): n_split = p.split(build) res = reldir[0:-1] + n_split[1] hd.append((res, str(counter))) diff --git a/scripts/run-config b/scripts/run-config index 8ed88cf..82de91f 100755 --- a/scripts/run-config +++ b/scripts/run-config @@ -327,6 +327,7 @@ elif args.phase == "finish" and args.stepname == "collect-results": if args.results_dir: hp.printheader("Running results collection") runcmd([scriptsdir + "/collect-results", args.builddir, args.results_dir, args.target]) + runcmd([scriptsdir + "/summarize_top_output.py", args.results_dir, args.target]) sys.exit(0) if jcfg: diff --git a/scripts/summarize_top_output.py b/scripts/summarize_top_output.py new file mode 100755 index 0000000..50c9b0a --- /dev/null +++ b/scripts/summarize_top_output.py @@ -0,0 +1,176 @@ +#!/usr/bin/env python3 + +import os, sys, glob + +# constants +HOME = "/home/pokybuild/yocto-worker/" +top_header = 7 +max_cols = 11 +cpu_hoggers = 5 +zombie_proc_id = "<defunct>" +parser = "Parser" + +# report the following whenever they occur +special_cmds = ["rm", "tar", "qemu"] + +# string substitution to make things easier to read +subs = { + "/home/pokybuild/yocto-worker/" : "~/", + "/build/build/tmp/work/" : "/...WORK_DIR.../" +} + +def usage(): + print("Usage: " + sys.argv[0] + " <dest> <target>") + +def list_top_outputs(logfile): + # top delimiter + top_start = "start: top output" + top_end = "end: top output" + + # list of top outputs + top_outputs = [] + + # flag + collect = False + with open(logfile) as log: + top_output = [] + for line in log: + lstrip = line.strip() + if collect: + if lstrip.startswith(top_end): + collect = False + top_outputs.append(top_output) + top_output = [] + else: + top_output.append(lstrip) + if lstrip.startswith(top_start): + collect = True + + return top_outputs + +def summarize_top(top_outs, target): + summaries = [] + kernel_summaries = [] + zombie_summaries = [] + short_summaries = [] + other_builds = [] + for top_out in top_outs: + summary = {} + kernel_summary = {} + zombie_summary = {} + short_summary = top_out[:top_header + cpu_hoggers] + for line in top_out[top_header:]: + cmd = line.split(maxsplit=max_cols)[-1] + if cmd.startswith(HOME): + b = cmd.split(HOME)[1].split("/")[0] + if b not in other_builds: + other_builds.append(b) + if cmd[0] == "[" and cmd[-1] == "]": # kernel processes + kproc = cmd[1:-1].split("/")[0] + if kproc not in kernel_summary: + kernel_summary[kproc] = 1 + else: + kernel_summary[kproc] += 1 + elif zombie_proc_id in cmd: # zombie processes + zproc = cmd.split()[0][1:-1] + if parser in zproc: + zproc = parser + if zproc not in zombie_summary: + zombie_summary[zproc] = 1 + else: + zombie_summary[zproc] += 1 + else: # userspace processes + cmd_split = cmd.split() + prog = cmd_split[0] + if prog not in summary: + summary[prog] = 1 + else: + summary[prog] += 1 + summary = dict(sorted(summary.items(), key=lambda item: item[1], reverse=True)) + kernel_summary = dict(sorted(kernel_summary.items(), key=lambda item: item[1], reverse=True)) + zombie_summary = dict(sorted(zombie_summary.items(), key=lambda item: item[1], reverse=True)) + + summaries.append(summary) + kernel_summaries.append(kernel_summary) + zombie_summaries.append(zombie_summary) + short_summaries.append(short_summary) + return (short_summaries, summaries, kernel_summaries, zombie_summaries, other_builds) + +def summarize_path(path): + sub = ["/recipe-sysroot-native/", "/../../libexec/", "/gcc/"] + p = path + for k, v in subs.items(): + p = p.replace(k, v) + if all(x in p for x in sub): + rsn_spl = p.split("/recipe-sysroot-native/") + gcc_spl = rsn_spl[-1].split("/gcc/") + p = rsn_spl[0] + "/...GCC.../" + gcc_spl[-1] + + return p + +def write_summary(short_summary, summary, kernel_summary, zombie_summary, other_build, target, logfile): + dirname = os.path.dirname(logfile) + fname = os.path.basename(logfile) + report_name = fname.split(".")[0] + "_summary.txt" + outfile = os.path.join(dirname, report_name) + out = "NOTE:\nProcesses that occur only once is not reported.\n" + out += "Program names have been shortened for better readability.\n" + out += "Substitutions are as follows:\n" + for k, v in subs.items(): + out += (v + " = " + k + "\n") + out += "\n" + + out += "top was invoked " + str(len(short_summary)) + " times.\n\n" + out += "Current build: " + target + "\n" + out += "Other builds:" + for b in other_build: + out += " " + b + out += "\n\n" + for i in range(len(short_summary)): + for l in short_summary[i]: + out += (l + "\n") + + out += ("\nUserspace Process Summary: " + "\n") + if not summary: + out += "There were no userspace processes\n" + else: + for k, v in summary[i].items(): + if v > 1 or any(k.startswith(x) for x in special_cmds): + r = summarize_path(k) + out += (str(v) + " " + r + "\n") + + out += ("\nKernel Process Summary: " + "\n") + if not kernel_summary: + out += "There were no kernel processes\n" + else: + for k, v in kernel_summary[i].items(): + if v > 1 or any(k.startswith(x) for x in special_cmds): + out += (str(v) + " " + k + "\n") + + out += ("\nZombie Process Summary: " + "\n") + if not zombie_summary: + out += "There were no zombie processes\n" + else: + for k, v in zombie_summary[i].items(): + if v > 1 or any(k.startswith(x) for x in special_cmds): + out += (str(v) + " " + k + "\n") + out += ("\n") + + with open(outfile, "w") as of: + of.write(out) + +def main(): + if len(sys.argv) != 3: + usage() + sys.exit() + + dest = sys.argv[1] + target = sys.argv[2] + host_data_dir = "intermittent_failure_host_data" + directory = os.path.join(dest, target, host_data_dir) + for f in glob.glob(directory + "/*_top.txt"): + outputs = list_top_outputs(f) + short_summary, summary, kernel_summary, zombie_summary, other_build = summarize_top(outputs, target) + write_summary(short_summary, summary, kernel_summary, zombie_summary, other_build, target, f) + +main() -- 2.25.1
|
|
[PATCH] models: Add a new error type for check-layer
Thomas Perrot
Defines a new ErrorType and ERROR_TYPE_CHOICES, in order to support this kind of
errors. [YOCTO #14208] Signed-off-by: Thomas Perrot <thomas.perrot@...> --- Post/models.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Post/models.py b/Post/models.py index 3fa66f2198a4..b7a913c82359 100644 --- a/Post/models.py +++ b/Post/models.py @@ -15,6 +15,7 @@ import Levenshtein class ErrorType(object): RECIPE = 'recipe' + CHECK_LAYER = 'check-layer' CORE = 'core' BITBAKE_SELFTEST = 'bitbake-selftest' OE_SELFTEST = 'oe-selftest' @@ -26,6 +27,7 @@ class InvalidErrorType(Exception): class Build(models.Model): ERROR_TYPE_CHOICES = ( (ErrorType.RECIPE, 'Recipe'), + (ErrorType.CHECK_LAYER, 'check-layer'), (ErrorType.CORE, 'Core'), (ErrorType.BITBAKE_SELFTEST, 'Bitbake selftest'), (ErrorType.OE_SELFTEST, 'OE selftest'), -- 2.31.1
|
|
Re: [meta-rockchip][PATCH] qtbase: Add needed bbappend for rk3399 SOCs
Trevor Woerner
Applied to meta-rockchip master. Thanks!
|
|
Re: [meta-rockchip][PATCH 1/4] centralize console settings
Yann Dirson
De: "Trevor Woerner" <twoerner@...>Damned that makes things more complicated :) That could push us along the following lines ? CONSOLE_DEVICES = "/dev/ttyS2 /dev/tty1" CONSOLE_BAUD_ttyS2 = "1500000" CONSOLE_BAUD_tty1 = "115200" (well, with /dev/ being what it is, CONSOLE_DEVICES = "ttyS2 tty1" could even be decided as sufficient, removing any possibility for syntactic ambiguities) or maybe even this ? CONSOLE_BAUD = <default value> CONSOLE_BAUD[/dev/ttyS2] = <overriden value>
|
|
Re: [meta-rockchip][PATCH 1/4] centralize console settings
Trevor Woerner
On Wed 2021-06-23 @ 08:10:07 PM, ydirson@... wrote:
De: "Khem Raj" <raj.khem@...> Good point, thanks for mentioning it.+RK_CONSOLE_BAUD = "115200"while I appreciate this change, it does have an effect of removing What about making this change at the poky level, then ?I suspect it would break things in all sorts of unimaginable ways ;-) For example, SERIAL_CONSOLES (note: plural) can contain more than one baud+device pair so if we try to break out the baud and device then we'd need an array (?) so we could break out multiple baud and device pairs (?), and then that would get messy... ugh!
|
|
[yocto-autobuilder2][dunfell] config.py: enable opensuse152 workers for dunfell
Steve Sakoman
Signed-off-by: Steve Sakoman <steve@...>
--- config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.py b/config.py index 2565bd7..03ccfba 100644 --- a/config.py +++ b/config.py @@ -150,7 +150,7 @@ all_workers = workers + workers_bringup + workers_buildperf + workers_arm workers_prev_releases = { "hardknott" : ("centos7", "centos8", "debian8", "debian9", "debian10", "fedora31", "fedora32", "fedora33", "opensuse152", "ubuntu1604", "ubuntu1804", "ubuntu2004", "perf-"), "gatesgarth" : ("centos7", "centos8", "debian8", "debian9", "debian10", "fedora30", "fedora31", "fedora32", "opensuse150", "opensuse151", "opensuse152", "ubuntu1604", "ubuntu1804", "ubuntu1904", "ubuntu2004", "perf-"), - "dunfell" : ("centos7", "centos8", "debian8", "debian9", "debian10", "fedora29", "fedora30", "fedora31", "fedora32", "fedora33", "opensuse150", "opensuse151", "ubuntu1604", "ubuntu1804", "ubuntu1904", "ubuntu2004", "perf-"), + "dunfell" : ("centos7", "centos8", "debian8", "debian9", "debian10", "fedora29", "fedora30", "fedora31", "fedora32", "fedora33", "opensuse150", "opensuse151", "opensuse152", "ubuntu1604", "ubuntu1804", "ubuntu1904", "ubuntu2004", "perf-"), "zeus" : ("centos7", "debian8", "debian9", "debian10", "fedora28", "fedora29", "fedora30", "opensuse150", "opensuse151", "ubuntu1604", "ubuntu1804", "ubuntu1904", "perf-"), "warrior" : ("centos7", "debian8", "debian9", "debian10", "fedora28", "fedora29", "fedora30", "opensuse150", "opensuse151", "ubuntu1604", "ubuntu1804", "ubuntu1904", "perf-"), "thud" : ("centos7", "debian8", "debian9", "debian10", "fedora28", "fedora29", "fedora30", "opensuse150", "opensuse151", "ubuntu1604", "ubuntu1804", "ubuntu1904", "perf-"), -- 2.25.1
|
|
Re: [meta-rockchip][PATCH 1/4] centralize console settings
Yann Dirson
----- Mail original -----
De: "Khem Raj" <raj.khem@...>What about making this change at the poky level, then ? diff --git a/conf/machine/include/rk3288.inc
|
|
Re: [PATCH][meta-rockchip] rock-pi-e: use common rk3328.inc
Trevor Woerner
Applied to meta-rockchip master.
|
|
Re: [meta-rockchip][PATCH 1/4] centralize console settings
On Wed, Jun 23, 2021 at 8:25 AM Trevor Woerner <twoerner@...> wrote:
while I appreciate this change, it does have an effect of removing the users away from BSP variables that core metadata layers have, e.g. SERIAL_CONSOLES is a well defined and documented variable and if we synthesize it then its hidden which is fine if we document the new variables equally well although that means every BSP will invent these kind of variables so if a person was doing RPI and comes to work on rockchip boards he has more learnings to do. diff --git a/conf/machine/include/rk3288.inc b/conf/machine/include/rk3288.inc
|
|
[meta-rockchip][PATCH 4/4] wic/wks cleanup
Trevor Woerner
Instead of having SoC-specific wks files and machine-specific wks files, it
turns out all we need is one rockchip-specific wks file; any differences can be specified with variables. Boot tested with the following boards (core-image-base): - tinker-board - rock-pi-e - rock64 - nanopi-m4-2gb - rock-pi-4b Signed-off-by: Trevor Woerner <twoerner@...> --- conf/machine/firefly-rk3288.conf | 1 - conf/machine/include/nanopi-m4.inc | 1 - conf/machine/include/rock-pi-4.inc | 1 - conf/machine/include/rockchip-defaults.inc | 4 ---- conf/machine/include/rockchip-wic.inc | 12 +++++++++++ conf/machine/include/tinker.inc | 1 - conf/machine/rock-pi-e.conf | 2 -- conf/machine/rock64.conf | 2 -- conf/machine/vyasa-rk3288.conf | 1 - wic/firefly-rk3288.wks | 7 ------- wic/rk3328-boot.wks | 23 --------------------- wic/rk3399-boot.wks | 24 ---------------------- wic/rock-pi-4.wks | 7 ------- wic/rock-pi-e.wks | 4 ---- wic/{rk3288-boot.wks => rockchip.wks} | 10 ++++++--- wic/tinker-board.wks | 8 -------- wic/vyasa-rk3288.wks | 8 -------- 17 files changed, 19 insertions(+), 97 deletions(-) delete mode 100644 wic/firefly-rk3288.wks delete mode 100644 wic/rk3328-boot.wks delete mode 100644 wic/rk3399-boot.wks delete mode 100644 wic/rock-pi-4.wks delete mode 100644 wic/rock-pi-e.wks rename wic/{rk3288-boot.wks => rockchip.wks} (71%) delete mode 100644 wic/tinker-board.wks delete mode 100644 wic/vyasa-rk3288.wks diff --git a/conf/machine/firefly-rk3288.conf b/conf/machine/firefly-rk3288.conf index dab513b..58b94df 100644 --- a/conf/machine/firefly-rk3288.conf +++ b/conf/machine/firefly-rk3288.conf @@ -11,5 +11,4 @@ require conf/machine/include/rk3288.inc KERNEL_DEVICETREE = "rk3288-firefly.dtb" UBOOT_MACHINE = "firefly-rk3288_defconfig" -WKS_FILE = "firefly-rk3288.wks" IMAGE_BOOT_FILES += "${KERNEL_DEVICETREE}" diff --git a/conf/machine/include/nanopi-m4.inc b/conf/machine/include/nanopi-m4.inc index f728063..aca3023 100644 --- a/conf/machine/include/nanopi-m4.inc +++ b/conf/machine/include/nanopi-m4.inc @@ -9,4 +9,3 @@ KMACHINE = "nanopi-m4" KERNEL_DEVICETREE = "rockchip/rk3399-nanopi-m4.dtb" RK_BOOT_DEVICE = "mmcblk1" -WKS_FILE = "rock-pi-4.wks" diff --git a/conf/machine/include/rock-pi-4.inc b/conf/machine/include/rock-pi-4.inc index 00f1040..941d805 100644 --- a/conf/machine/include/rock-pi-4.inc +++ b/conf/machine/include/rock-pi-4.inc @@ -4,4 +4,3 @@ MACHINEOVERRIDES =. "rock-pi-4:" require conf/machine/include/rk3399.inc RK_BOOT_DEVICE = "mmcblk1" -WKS_FILE = "rock-pi-4.wks" diff --git a/conf/machine/include/rockchip-defaults.inc b/conf/machine/include/rockchip-defaults.inc index 36528fa..0a4dbd0 100644 --- a/conf/machine/include/rockchip-defaults.inc +++ b/conf/machine/include/rockchip-defaults.inc @@ -28,7 +28,3 @@ SPL_BINARY ?= "idbloader.img" # misc RK_CONSOLE_DEVICE ??= "ttyS2" SERIAL_CONSOLES = "${RK_CONSOLE_BAUD};${RK_CONSOLE_DEVICE}" - -# boot device (sd-card/emmc) -RK_BOOT_DEVICE ??= "mmcblk0" -WICVARS_append = " RK_BOOT_DEVICE RK_CONSOLE_BAUD RK_CONSOLE_DEVICE" diff --git a/conf/machine/include/rockchip-wic.inc b/conf/machine/include/rockchip-wic.inc index 5d1eea7..4de13d4 100644 --- a/conf/machine/include/rockchip-wic.inc +++ b/conf/machine/include/rockchip-wic.inc @@ -8,3 +8,15 @@ WKS_FILE_DEPENDS = " \ virtual/kernel \ " IMAGE_BOOT_FILES ?= "${KERNEL_IMAGETYPE}" + +# boot device (sd-card/emmc) +RK_BOOT_DEVICE ??= "mmcblk0" + +WKS_FILE = "rockchip.wks" +WICVARS_append = " \ + RK_BOOT_DEVICE \ + RK_CONSOLE_BAUD \ + RK_CONSOLE_DEVICE \ + SPL_BINARY \ + UBOOT_SUFFIX \ + " diff --git a/conf/machine/include/tinker.inc b/conf/machine/include/tinker.inc index b8a33c9..e60190d 100644 --- a/conf/machine/include/tinker.inc +++ b/conf/machine/include/tinker.inc @@ -1,4 +1,3 @@ require conf/machine/include/rk3288.inc -WKS_FILE = "tinker-board.wks" IMAGE_BOOT_FILES += "${KERNEL_DEVICETREE}" diff --git a/conf/machine/rock-pi-e.conf b/conf/machine/rock-pi-e.conf index b46b266..5eb67b5 100644 --- a/conf/machine/rock-pi-e.conf +++ b/conf/machine/rock-pi-e.conf @@ -11,5 +11,3 @@ PREFERRED_PROVIDER_virtual/kernel = "linux-stable-bleeding" KERNEL_DEVICETREE = "rockchip/rk3328-rock-pi-e.dtb" UBOOT_MACHINE = "rock-pi-e-rk3328_defconfig" - -WKS_FILE = "rock-pi-e.wks" diff --git a/conf/machine/rock64.conf b/conf/machine/rock64.conf index d7f3212..f0aa2f4 100644 --- a/conf/machine/rock64.conf +++ b/conf/machine/rock64.conf @@ -14,5 +14,3 @@ KERNEL_DEVICETREE = "rockchip/rk3328-rock64.dtb" # set to mmcblk0 for booting from optional eMMC RK_BOOT_DEVICE ?= "mmcblk1" - -WKS_FILE = "rock-pi-e.wks" diff --git a/conf/machine/vyasa-rk3288.conf b/conf/machine/vyasa-rk3288.conf index 5a99b20..b48c4f0 100644 --- a/conf/machine/vyasa-rk3288.conf +++ b/conf/machine/vyasa-rk3288.conf @@ -14,5 +14,4 @@ KERNEL_EXTRA_ARGS += "LOADADDR=0x02000000" UBOOT_MACHINE = "vyasa-rk3288_defconfig" RK_BOOT_DEVICE = "mmcblk2" -WKS_FILE = "vyasa-rk3288.wks" IMAGE_BOOT_FILES += "${KERNEL_DEVICETREE}" diff --git a/wic/firefly-rk3288.wks b/wic/firefly-rk3288.wks deleted file mode 100644 index 7b14d1f..0000000 --- a/wic/firefly-rk3288.wks +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright (C) 2019 Garmin Ltd. or its subsidiaries -# Released under the MIT license (see COPYING.MIT for the terms) - -include rk3288-boot.wks -part / --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root - -bootloader --ptable gpt --append="console=tty1 console=${RK_CONSOLE_DEVICE},${RK_CONSOLE_BAUD}n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init" diff --git a/wic/rk3328-boot.wks b/wic/rk3328-boot.wks deleted file mode 100644 index 194145b..0000000 --- a/wic/rk3328-boot.wks +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright (C) 2021 Trevor Woerner -# Released under the MIT license (see COPYING.MIT for the terms) -# -# Disk layout -# Note that the reference documentation refers to 512 byte disk sectors, but -# wic uses 1KB blocks -# -# Partition Start Sector Number of Sectors -# loader1 64 8000 -# reserved1 8064 128 -# reserved2 8192 8192 -# loader2 16384 8192 -# atf 24576 8192 -# boot 32768 229376 -# root 262144 - (suggested) -# - -part loader1 --offset 32 --fixed-size 4000K --ondisk ${RK_BOOT_DEVICE} --source rawcopy --sourceparams="file=idbloader.img" -part reserved1 --offset 4032 --fixed-size 64K --ondisk ${RK_BOOT_DEVICE} -part reserved2 --offset 4096 --fixed-size 4096K --ondisk ${RK_BOOT_DEVICE} -part loader2 --offset 8192 --fixed-size 4096K --ondisk ${RK_BOOT_DEVICE} --source rawcopy --sourceparams="file=u-boot.itb" -part atf --offset 12288 --fixed-size 4096K --ondisk ${RK_BOOT_DEVICE} -part /boot --offset 16384 --size 114688K --active --ondisk ${RK_BOOT_DEVICE} --source bootimg-partition --fstype=vfat --label boot --sourceparams="loader=u-boot" diff --git a/wic/rk3399-boot.wks b/wic/rk3399-boot.wks deleted file mode 100644 index 8a65179..0000000 --- a/wic/rk3399-boot.wks +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright (C) 2020 Garmin Ltd. or its subsidiaries -# Released under the MIT license (see COPYING.MIT for the terms) -# -# Disk layout -# Note that the reference documentation refers to 512 byte disk sectors, but -# wic uses 1KB blocks -# -# Partition Start Sector Number of Sectors -# loader1 64 8000 -# reserved1 8064 128 -# reserved2 8192 8192 -# loader2 16384 8192 -# atf 24576 8192 -# boot 32768 229376 -# root 262144 - (suggested) -# - -part loader1 --offset 32 --fixed-size 4000K --ondisk ${RK_BOOT_DEVICE} --source rawcopy --sourceparams="file=idbloader.img" -part reserved1 --offset 4032 --fixed-size 64K --ondisk ${RK_BOOT_DEVICE} -part reserved2 --offset 4096 --fixed-size 4096K --ondisk ${RK_BOOT_DEVICE} -part loader2 --offset 8192 --fixed-size 4096K --ondisk ${RK_BOOT_DEVICE} --source rawcopy --sourceparams="file=u-boot.itb" -part atf --offset 12288 --fixed-size 4096K --ondisk ${RK_BOOT_DEVICE} -part /boot --offset 16384 --size 114688K --active --ondisk ${RK_BOOT_DEVICE} --source bootimg-partition --fstype=vfat --label boot --sourceparams="loader=u-boot" - diff --git a/wic/rock-pi-4.wks b/wic/rock-pi-4.wks deleted file mode 100644 index 5c02e9f..0000000 --- a/wic/rock-pi-4.wks +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright (C) 2020 Garmin Ltd. or its subsidiaries -# Released under the MIT license (see COPYING.MIT for the terms) - -include rk3399-boot.wks -part / --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root - -bootloader --ptable gpt --append="console=tty1 console=${RK_CONSOLE_DEVICE},${RK_CONSOLE_BAUD}n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init" diff --git a/wic/rock-pi-e.wks b/wic/rock-pi-e.wks deleted file mode 100644 index 9c10d90..0000000 --- a/wic/rock-pi-e.wks +++ /dev/null @@ -1,4 +0,0 @@ -include rk3328-boot.wks -part / --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root - -bootloader --ptable gpt --append="console=tty1 console=${RK_CONSOLE_DEVICE},${RK_CONSOLE_BAUD}n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init" diff --git a/wic/rk3288-boot.wks b/wic/rockchip.wks similarity index 71% rename from wic/rk3288-boot.wks rename to wic/rockchip.wks index e4d30cc..dfbf7f2 100644 --- a/wic/rk3288-boot.wks +++ b/wic/rockchip.wks @@ -1,4 +1,5 @@ -# Copyright (C) 2020 Garmin Ltd. or its subsidiaries +# Copyright (C) 2021 Trevor Woerner <twoerner@...> +# Copyright (C) 2019,2020 Garmin Ltd. or its subsidiaries # Released under the MIT license (see COPYING.MIT for the terms) # # Disk layout @@ -15,10 +16,13 @@ # root 262144 - (suggested) # -part loader1 --offset 32 --fixed-size 4000K --ondisk ${RK_BOOT_DEVICE} --source rawcopy --sourceparams="file=idbloader.img" +part loader1 --offset 32 --fixed-size 4000K --ondisk ${RK_BOOT_DEVICE} --source rawcopy --sourceparams="file=${SPL_BINARY}" part reserved1 --offset 4032 --fixed-size 64K --ondisk ${RK_BOOT_DEVICE} part reserved2 --offset 4096 --fixed-size 4096K --ondisk ${RK_BOOT_DEVICE} -part loader2 --offset 8192 --fixed-size 4096K --ondisk ${RK_BOOT_DEVICE} --source rawcopy --sourceparams="file=u-boot.bin" +part loader2 --offset 8192 --fixed-size 4096K --ondisk ${RK_BOOT_DEVICE} --source rawcopy --sourceparams="file=u-boot.${UBOOT_SUFFIX}" part atf --offset 12288 --fixed-size 4096K --ondisk ${RK_BOOT_DEVICE} part /boot --offset 16384 --size 114688K --active --ondisk ${RK_BOOT_DEVICE} --source bootimg-partition --fstype=vfat --label boot --sourceparams="loader=u-boot" +part / --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root + +bootloader --ptable gpt --append="console=tty1 console=${RK_CONSOLE_DEVICE},${RK_CONSOLE_BAUD}n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init" diff --git a/wic/tinker-board.wks b/wic/tinker-board.wks deleted file mode 100644 index 00ae820..0000000 --- a/wic/tinker-board.wks +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright (C) 2019 Garmin Ltd. or its subsidiaries -# Released under the MIT license (see COPYING.MIT for the terms) - -include rk3288-boot.wks - -part / --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root - -bootloader --ptable gpt --append="console=tty1 console=${RK_CONSOLE_DEVICE},${RK_CONSOLE_BAUD}n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init" diff --git a/wic/vyasa-rk3288.wks b/wic/vyasa-rk3288.wks deleted file mode 100644 index 5346fbd..0000000 --- a/wic/vyasa-rk3288.wks +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright (C) 2019 Garmin Ltd. or its subsidiaries -# Released under the MIT license (see COPYING.MIT for the terms) - -include rk3288-boot.wks -part / --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root - -bootloader --ptable gpt --append="console=tty1 console=${RK_CONSOLE_DEVICE},${RK_CONSOLE_BAUD}n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init" - -- 2.30.0.rc0
|
|
[meta-rockchip][PATCH 3/4] machine common include cleanup
Trevor Woerner
Break out the conf/machine/include/rockchip-defaults.inc into:
- conf/machine/include/rockchip-defaults.inc - conf/machine/include/rockchip-32.inc - conf/machine/include/rockchip-64.inc - conf/machine/include/rockchip-wic.inc Re-organize the machine and SoC configurations to make use of these common include files to reduce duplication of common elements. For every currently-defined machine in meta-rockchip, the following variables were checked before and after this change to make sure the results were correct and/or reasonable: - RK_CONSOLE_BAUD - RK_CONSOLE_DEVICE - SERIAL_CONSOLES - WKS_FILE - UBOOT_SUFFIX - SPL_BINARY - UBOOT_ENTRYPOINT - UBOOT_MACHINE - KBUILD_DEFCONFIG - KERNEL_IMAGETYPE - KERNEL_DEVICETREE - TFA_BUILD_TARGET - TFA_PLATFORM - IMAGE_FSTYPES - RK_BOOT_DEVICE - IMAGE_BOOT_FILES The following boards were boot-tested after this change to make sure they booted to a console login prompt correctly (core-image-base): - tinker-board - rock-pi-e - rock64 - nanopi-m4-2gb - rock-pi-4b Signed-off-by: Trevor Woerner <twoerner@...> --- conf/machine/firefly-rk3288.conf | 15 ++------------- conf/machine/include/nanopi-m4.inc | 13 +------------ conf/machine/include/rk3066.inc | 2 +- conf/machine/include/rk3188.inc | 2 +- conf/machine/include/rk3288.inc | 10 +++------- conf/machine/include/rk3328.inc | 13 ++----------- conf/machine/include/rk3399.inc | 14 ++------------ conf/machine/include/rock-pi-4.inc | 15 +-------------- conf/machine/include/rockchip-32.inc | 4 ++++ conf/machine/include/rockchip-64.inc | 12 ++++++++++++ conf/machine/include/rockchip-defaults.inc | 12 +++++++----- conf/machine/include/rockchip-wic.inc | 10 ++++++++++ conf/machine/include/tinker.inc | 15 ++------------- conf/machine/rock-pi-e.conf | 12 ------------ conf/machine/rock2-square.conf | 4 ++-- conf/machine/rock64.conf | 15 +-------------- conf/machine/vyasa-rk3288.conf | 15 ++------------- 17 files changed, 53 insertions(+), 130 deletions(-) create mode 100644 conf/machine/include/rockchip-32.inc create mode 100644 conf/machine/include/rockchip-64.inc create mode 100644 conf/machine/include/rockchip-wic.inc diff --git a/conf/machine/firefly-rk3288.conf b/conf/machine/firefly-rk3288.conf index 2a5f0ba..dab513b 100644 --- a/conf/machine/firefly-rk3288.conf +++ b/conf/machine/firefly-rk3288.conf @@ -11,16 +11,5 @@ require conf/machine/include/rk3288.inc KERNEL_DEVICETREE = "rk3288-firefly.dtb" UBOOT_MACHINE = "firefly-rk3288_defconfig" -WKS_FILE ?= "firefly-rk3288.wks" -IMAGE_FSTYPES += "wic wic.bmap" - -WKS_FILE_DEPENDS ?= " \ - mtools-native \ - dosfstools-native \ - virtual/bootloader \ - virtual/kernel \ - " -IMAGE_BOOT_FILES ?= "\ - ${KERNEL_IMAGETYPE} \ - ${KERNEL_DEVICETREE} \ - " +WKS_FILE = "firefly-rk3288.wks" +IMAGE_BOOT_FILES += "${KERNEL_DEVICETREE}" diff --git a/conf/machine/include/nanopi-m4.inc b/conf/machine/include/nanopi-m4.inc index 8a7c1d9..f728063 100644 --- a/conf/machine/include/nanopi-m4.inc +++ b/conf/machine/include/nanopi-m4.inc @@ -9,15 +9,4 @@ KMACHINE = "nanopi-m4" KERNEL_DEVICETREE = "rockchip/rk3399-nanopi-m4.dtb" RK_BOOT_DEVICE = "mmcblk1" -WKS_FILE ?= "rock-pi-4.wks" -IMAGE_FSTYPES += "wic wic.bmap" - -WKS_FILE_DEPENDS ?= " \ - mtools-native \ - dosfstools-native \ - virtual/bootloader \ - virtual/kernel \ - " -IMAGE_BOOT_FILES ?= "\ - ${KERNEL_IMAGETYPE} \ - " +WKS_FILE = "rock-pi-4.wks" diff --git a/conf/machine/include/rk3066.inc b/conf/machine/include/rk3066.inc index 76744ee..63bf9de 100644 --- a/conf/machine/include/rk3066.inc +++ b/conf/machine/include/rk3066.inc @@ -6,7 +6,7 @@ SOC_FAMILY = "rk3066" require conf/machine/include/tune-cortexa9.inc require conf/machine/include/soc-family.inc require conf/machine/include/rockchip-defaults.inc +require conf/machine/include/rockchip-32.inc -RK_CONSOLE_BAUD = "115200" KBUILD_DEFCONFIG = "multi_v7_defconfig" KERNEL_IMAGETYPE = "zImage" diff --git a/conf/machine/include/rk3188.inc b/conf/machine/include/rk3188.inc index e21bbf7..ca0857d 100644 --- a/conf/machine/include/rk3188.inc +++ b/conf/machine/include/rk3188.inc @@ -6,9 +6,9 @@ SOC_FAMILY = "rk3188" require conf/machine/include/tune-cortexa9.inc require conf/machine/include/soc-family.inc require conf/machine/include/rockchip-defaults.inc +require conf/machine/include/rockchip-32.inc KBUILD_DEFCONFIG = "multi_v7_defconfig" KERNEL_IMAGETYPE = "zImage" -RK_CONSOLE_BAUD = "115200" RK_CONSOLE_DEVICE = "ttyFIQ0" diff --git a/conf/machine/include/rk3288.inc b/conf/machine/include/rk3288.inc index 2715e73..21892b7 100644 --- a/conf/machine/include/rk3288.inc +++ b/conf/machine/include/rk3288.inc @@ -6,12 +6,8 @@ SOC_FAMILY = "rk3288" require conf/machine/include/tune-cortexa17.inc require conf/machine/include/soc-family.inc require conf/machine/include/rockchip-defaults.inc +require conf/machine/include/rockchip-32.inc +require conf/machine/include/rockchip-wic.inc KBUILD_DEFCONFIG ?= "multi_v7_defconfig" -KERNEL_IMAGETYPE = "zImage" - -RK_CONSOLE_BAUD = "115200" - -PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" -SPL_BINARY ?= "idbloader.img" - +KERNEL_IMAGETYPE ?= "zImage" diff --git a/conf/machine/include/rk3328.inc b/conf/machine/include/rk3328.inc index 5b11868..e09489e 100644 --- a/conf/machine/include/rk3328.inc +++ b/conf/machine/include/rk3328.inc @@ -8,16 +8,7 @@ DEFAULTTUNE ?= "cortexa53-crypto" require conf/machine/include/soc-family.inc require conf/machine/include/tune-cortexa53.inc require conf/machine/include/rockchip-defaults.inc - -KBUILD_DEFCONFIG ?= "defconfig" -KERNEL_CLASSES = "kernel-fitimage" -KERNEL_IMAGETYPE = "fitImage" +require conf/machine/include/rockchip-64.inc +require conf/machine/include/rockchip-wic.inc TFA_PLATFORM = "rk3328" -TFA_BUILD_TARGET = "bl31" - -UBOOT_SUFFIX ?= "itb" -UBOOT_ENTRYPOINT ?= "0x06000000" - -PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" -SPL_BINARY ?= "idbloader.img" diff --git a/conf/machine/include/rk3399.inc b/conf/machine/include/rk3399.inc index 9f9f474..23a6fb4 100644 --- a/conf/machine/include/rk3399.inc +++ b/conf/machine/include/rk3399.inc @@ -8,17 +8,7 @@ DEFAULTTUNE ?= "cortexa72-cortexa53-crypto" require conf/machine/include/soc-family.inc require conf/machine/include/tune-cortexa72-cortexa53.inc require conf/machine/include/rockchip-defaults.inc - -KBUILD_DEFCONFIG ?= "defconfig" -KERNEL_CLASSES = "kernel-fitimage" -KERNEL_IMAGETYPE = "fitImage" +require conf/machine/include/rockchip-64.inc +require conf/machine/include/rockchip-wic.inc TFA_PLATFORM = "rk3399" -TFA_BUILD_TARGET = "bl31" - -UBOOT_SUFFIX ?= "itb" -UBOOT_ENTRYPOINT ?= "0x06000000" - -PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" -SPL_BINARY ?= "idbloader.img" - diff --git a/conf/machine/include/rock-pi-4.inc b/conf/machine/include/rock-pi-4.inc index a3e60c7..00f1040 100644 --- a/conf/machine/include/rock-pi-4.inc +++ b/conf/machine/include/rock-pi-4.inc @@ -4,17 +4,4 @@ MACHINEOVERRIDES =. "rock-pi-4:" require conf/machine/include/rk3399.inc RK_BOOT_DEVICE = "mmcblk1" -WKS_FILE ?= "rock-pi-4.wks" -IMAGE_FSTYPES += "wic wic.bmap" - -WKS_FILE_DEPENDS ?= " \ - mtools-native \ - dosfstools-native \ - virtual/bootloader \ - virtual/kernel \ - " -IMAGE_BOOT_FILES ?= "\ - ${KERNEL_IMAGETYPE} \ - " - -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules" +WKS_FILE = "rock-pi-4.wks" diff --git a/conf/machine/include/rockchip-32.inc b/conf/machine/include/rockchip-32.inc new file mode 100644 index 0000000..27e960e --- /dev/null +++ b/conf/machine/include/rockchip-32.inc @@ -0,0 +1,4 @@ +# meta-rockchip defaults for 32-bit systems + +UBOOT_SUFFIX ?= "bin" +RK_CONSOLE_BAUD ?= "115200" diff --git a/conf/machine/include/rockchip-64.inc b/conf/machine/include/rockchip-64.inc new file mode 100644 index 0000000..f394c31 --- /dev/null +++ b/conf/machine/include/rockchip-64.inc @@ -0,0 +1,12 @@ +# meta-rockchip defaults for 64-bit systems + +UBOOT_SUFFIX ?= "itb" +UBOOT_ENTRYPOINT ?= "0x06000000" + +RK_CONSOLE_BAUD ?= "1500000" + +KBUILD_DEFCONFIG ??= "defconfig" +KERNEL_CLASSES ?= "kernel-fitimage" +KERNEL_IMAGETYPE ?= "fitImage" + +TFA_BUILD_TARGET ?= "bl31" diff --git a/conf/machine/include/rockchip-defaults.inc b/conf/machine/include/rockchip-defaults.inc index 3e7a2f2..36528fa 100644 --- a/conf/machine/include/rockchip-defaults.inc +++ b/conf/machine/include/rockchip-defaults.inc @@ -1,9 +1,10 @@ -# meta-rockchip default settings +# common meta-rockchip default settings # kernel PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" KCONFIG_MODE ?= "alldefconfig" LINUX_VERSION_EXTENSION ?= "-rockchip" +MACHINE_EXTRA_RRECOMMENDS += "kernel-modules" # xserver PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" @@ -20,13 +21,14 @@ XSERVER = " \ xf86-input-keyboard \ " +# u-boot +PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" +SPL_BINARY ?= "idbloader.img" + # misc -RK_CONSOLE_DEVICE ?= "ttyS2" -RK_CONSOLE_BAUD ?= "1500000" +RK_CONSOLE_DEVICE ??= "ttyS2" SERIAL_CONSOLES = "${RK_CONSOLE_BAUD};${RK_CONSOLE_DEVICE}" -IMAGE_FSTYPES += "ext4" # boot device (sd-card/emmc) RK_BOOT_DEVICE ??= "mmcblk0" WICVARS_append = " RK_BOOT_DEVICE RK_CONSOLE_BAUD RK_CONSOLE_DEVICE" - diff --git a/conf/machine/include/rockchip-wic.inc b/conf/machine/include/rockchip-wic.inc new file mode 100644 index 0000000..5d1eea7 --- /dev/null +++ b/conf/machine/include/rockchip-wic.inc @@ -0,0 +1,10 @@ +# common defaults for systems that use wic + +IMAGE_FSTYPES += "wic wic.bmap" +WKS_FILE_DEPENDS = " \ + mtools-native \ + dosfstools-native \ + virtual/bootloader \ + virtual/kernel \ + " +IMAGE_BOOT_FILES ?= "${KERNEL_IMAGETYPE}" diff --git a/conf/machine/include/tinker.inc b/conf/machine/include/tinker.inc index e851b59..b8a33c9 100644 --- a/conf/machine/include/tinker.inc +++ b/conf/machine/include/tinker.inc @@ -1,15 +1,4 @@ require conf/machine/include/rk3288.inc -WKS_FILE ?= "tinker-board.wks" -IMAGE_FSTYPES += "wic wic.bmap" - -WKS_FILE_DEPENDS ?= " \ - mtools-native \ - dosfstools-native \ - virtual/bootloader \ - virtual/kernel \ - " -IMAGE_BOOT_FILES ?= "\ - ${KERNEL_IMAGETYPE} \ - ${KERNEL_DEVICETREE} \ - " +WKS_FILE = "tinker-board.wks" +IMAGE_BOOT_FILES += "${KERNEL_DEVICETREE}" diff --git a/conf/machine/rock-pi-e.conf b/conf/machine/rock-pi-e.conf index 38362a0..b46b266 100644 --- a/conf/machine/rock-pi-e.conf +++ b/conf/machine/rock-pi-e.conf @@ -9,19 +9,7 @@ MACHINEOVERRIDES =. "rock-pi-e:" PREFERRED_PROVIDER_virtual/kernel = "linux-stable-bleeding" KERNEL_DEVICETREE = "rockchip/rk3328-rock-pi-e.dtb" -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules" -PREFERRED_PROVIDER_virtual/bootloader = "u-boot" UBOOT_MACHINE = "rock-pi-e-rk3328_defconfig" WKS_FILE = "rock-pi-e.wks" -IMAGE_FSTYPES += "wic.xz wic.bmap" -WKS_FILE_DEPENDS = " \ - mtools-native \ - dosfstools-native \ - virtual/bootloader \ - virtual/kernel \ - " -IMAGE_BOOT_FILES ?= " \ - ${KERNEL_IMAGETYPE} \ - " diff --git a/conf/machine/rock2-square.conf b/conf/machine/rock2-square.conf index 46064ee..ec04f74 100644 --- a/conf/machine/rock2-square.conf +++ b/conf/machine/rock2-square.conf @@ -14,6 +14,6 @@ UBOOT_MACHINE = "rock2_defconfig" # This board doesn't support the combined idbloader, so resort to the older # image class -IMAGE_FSTYPES += "rockchip-gpt-img" +IMAGE_FSTYPES += "ext4 rockchip-gpt-img" +IMAGE_FSTYPES_remove = "wic wic.bmap" IMAGE_CLASSES += "rockchip-gpt-img" - diff --git a/conf/machine/rock64.conf b/conf/machine/rock64.conf index acda018..d7f3212 100644 --- a/conf/machine/rock64.conf +++ b/conf/machine/rock64.conf @@ -15,17 +15,4 @@ KERNEL_DEVICETREE = "rockchip/rk3328-rock64.dtb" # set to mmcblk0 for booting from optional eMMC RK_BOOT_DEVICE ?= "mmcblk1" -WKS_FILE ?= "rock-pi-e.wks" -IMAGE_FSTYPES += "wic wic.bmap" - -WKS_FILE_DEPENDS ?= " \ - mtools-native \ - dosfstools-native \ - virtual/bootloader \ - virtual/kernel \ - " -IMAGE_BOOT_FILES ?= "\ - ${KERNEL_IMAGETYPE} \ - " - -KBUILD_DEFCONFIG = "defconfig" +WKS_FILE = "rock-pi-e.wks" diff --git a/conf/machine/vyasa-rk3288.conf b/conf/machine/vyasa-rk3288.conf index c92c821..5a99b20 100644 --- a/conf/machine/vyasa-rk3288.conf +++ b/conf/machine/vyasa-rk3288.conf @@ -14,16 +14,5 @@ KERNEL_EXTRA_ARGS += "LOADADDR=0x02000000" UBOOT_MACHINE = "vyasa-rk3288_defconfig" RK_BOOT_DEVICE = "mmcblk2" -WKS_FILE ?= "vyasa-rk3288.wks" -IMAGE_FSTYPES += "wic wic.bmap" - -WKS_FILE_DEPENDS ?= " \ - mtools-native \ - dosfstools-native \ - virtual/bootloader \ - virtual/kernel \ - " -IMAGE_BOOT_FILES ?= "\ - ${KERNEL_IMAGETYPE} \ - ${KERNEL_DEVICETREE} \ - " +WKS_FILE = "vyasa-rk3288.wks" +IMAGE_BOOT_FILES += "${KERNEL_DEVICETREE}" -- 2.30.0.rc0
|
|
[meta-rockchip][PATCH 2/4] wic console device and baud
Trevor Woerner
Take the console device and baud settings from the MACHINE configurations and
reuse them in the wic files. This reduces duplication and eliminates a potential source of mistakes. Signed-off-by: Trevor Woerner <twoerner@...> --- conf/machine/include/rockchip-defaults.inc | 2 +- wic/firefly-rk3288.wks | 2 +- wic/rock-pi-4.wks | 2 +- wic/rock-pi-e.wks | 2 +- wic/tinker-board.wks | 2 +- wic/vyasa-rk3288.wks | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/conf/machine/include/rockchip-defaults.inc b/conf/machine/include/rockchip-defaults.inc index fe4052e..3e7a2f2 100644 --- a/conf/machine/include/rockchip-defaults.inc +++ b/conf/machine/include/rockchip-defaults.inc @@ -28,5 +28,5 @@ IMAGE_FSTYPES += "ext4" # boot device (sd-card/emmc) RK_BOOT_DEVICE ??= "mmcblk0" -WICVARS_append = " RK_BOOT_DEVICE" +WICVARS_append = " RK_BOOT_DEVICE RK_CONSOLE_BAUD RK_CONSOLE_DEVICE" diff --git a/wic/firefly-rk3288.wks b/wic/firefly-rk3288.wks index da0067f..7b14d1f 100644 --- a/wic/firefly-rk3288.wks +++ b/wic/firefly-rk3288.wks @@ -4,4 +4,4 @@ include rk3288-boot.wks part / --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root -bootloader --ptable gpt --append="console=tty1 console=ttyS2,115200n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init" +bootloader --ptable gpt --append="console=tty1 console=${RK_CONSOLE_DEVICE},${RK_CONSOLE_BAUD}n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init" diff --git a/wic/rock-pi-4.wks b/wic/rock-pi-4.wks index c6174a9..5c02e9f 100644 --- a/wic/rock-pi-4.wks +++ b/wic/rock-pi-4.wks @@ -4,4 +4,4 @@ include rk3399-boot.wks part / --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root -bootloader --ptable gpt --append="console=tty1 console=ttyS2,1500000n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init" +bootloader --ptable gpt --append="console=tty1 console=${RK_CONSOLE_DEVICE},${RK_CONSOLE_BAUD}n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init" diff --git a/wic/rock-pi-e.wks b/wic/rock-pi-e.wks index 97f84d1..9c10d90 100644 --- a/wic/rock-pi-e.wks +++ b/wic/rock-pi-e.wks @@ -1,4 +1,4 @@ include rk3328-boot.wks part / --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root -bootloader --ptable gpt --append="console=tty1 console=ttyS2,1500000n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init" +bootloader --ptable gpt --append="console=tty1 console=${RK_CONSOLE_DEVICE},${RK_CONSOLE_BAUD}n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init" diff --git a/wic/tinker-board.wks b/wic/tinker-board.wks index 5a63ce0..00ae820 100644 --- a/wic/tinker-board.wks +++ b/wic/tinker-board.wks @@ -5,4 +5,4 @@ include rk3288-boot.wks part / --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root -bootloader --ptable gpt --append="console=tty1 console=ttyS2,115200n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init" +bootloader --ptable gpt --append="console=tty1 console=${RK_CONSOLE_DEVICE},${RK_CONSOLE_BAUD}n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init" diff --git a/wic/vyasa-rk3288.wks b/wic/vyasa-rk3288.wks index 5db65df..5346fbd 100644 --- a/wic/vyasa-rk3288.wks +++ b/wic/vyasa-rk3288.wks @@ -4,5 +4,5 @@ include rk3288-boot.wks part / --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root -bootloader --ptable gpt --append="console=tty1 console=ttyS2,115200n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init" +bootloader --ptable gpt --append="console=tty1 console=${RK_CONSOLE_DEVICE},${RK_CONSOLE_BAUD}n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init" -- 2.30.0.rc0
|
|
[meta-rockchip][PATCH 1/4] centralize console settings
Trevor Woerner
The console settings (baud and device) are scrambled and spread throughout the
MACHINE configurations. Consolidate them and set defaults which are then overridden only as required. Signed-off-by: Trevor Woerner <twoerner@...> --- conf/machine/include/nanopi-m4.inc | 2 -- conf/machine/include/rk3066.inc | 1 + conf/machine/include/rk3188.inc | 3 +++ conf/machine/include/rk3288.inc | 2 +- conf/machine/include/rk3328.inc | 2 -- conf/machine/include/rk3399.inc | 2 -- conf/machine/include/rock-pi-4.inc | 2 -- conf/machine/include/rockchip-defaults.inc | 3 +++ conf/machine/marsboard-rk3066.conf | 1 - conf/machine/radxarock.conf | 1 - 10 files changed, 8 insertions(+), 11 deletions(-) diff --git a/conf/machine/include/nanopi-m4.inc b/conf/machine/include/nanopi-m4.inc index a14b705..8a7c1d9 100644 --- a/conf/machine/include/nanopi-m4.inc +++ b/conf/machine/include/nanopi-m4.inc @@ -21,5 +21,3 @@ WKS_FILE_DEPENDS ?= " \ IMAGE_BOOT_FILES ?= "\ ${KERNEL_IMAGETYPE} \ " - -SERIAL_CONSOLES = "1500000;ttyS2" diff --git a/conf/machine/include/rk3066.inc b/conf/machine/include/rk3066.inc index dffbee0..76744ee 100644 --- a/conf/machine/include/rk3066.inc +++ b/conf/machine/include/rk3066.inc @@ -7,5 +7,6 @@ require conf/machine/include/tune-cortexa9.inc require conf/machine/include/soc-family.inc require conf/machine/include/rockchip-defaults.inc +RK_CONSOLE_BAUD = "115200" KBUILD_DEFCONFIG = "multi_v7_defconfig" KERNEL_IMAGETYPE = "zImage" diff --git a/conf/machine/include/rk3188.inc b/conf/machine/include/rk3188.inc index 59e65d1..e21bbf7 100644 --- a/conf/machine/include/rk3188.inc +++ b/conf/machine/include/rk3188.inc @@ -9,3 +9,6 @@ require conf/machine/include/rockchip-defaults.inc KBUILD_DEFCONFIG = "multi_v7_defconfig" KERNEL_IMAGETYPE = "zImage" + +RK_CONSOLE_BAUD = "115200" +RK_CONSOLE_DEVICE = "ttyFIQ0" diff --git a/conf/machine/include/rk3288.inc b/conf/machine/include/rk3288.inc index 480e250..2715e73 100644 --- a/conf/machine/include/rk3288.inc +++ b/conf/machine/include/rk3288.inc @@ -10,7 +10,7 @@ require conf/machine/include/rockchip-defaults.inc KBUILD_DEFCONFIG ?= "multi_v7_defconfig" KERNEL_IMAGETYPE = "zImage" -SERIAL_CONSOLES = "115200;ttyS2" +RK_CONSOLE_BAUD = "115200" PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" SPL_BINARY ?= "idbloader.img" diff --git a/conf/machine/include/rk3328.inc b/conf/machine/include/rk3328.inc index a4bbc5d..5b11868 100644 --- a/conf/machine/include/rk3328.inc +++ b/conf/machine/include/rk3328.inc @@ -19,7 +19,5 @@ TFA_BUILD_TARGET = "bl31" UBOOT_SUFFIX ?= "itb" UBOOT_ENTRYPOINT ?= "0x06000000" -SERIAL_CONSOLES = "1500000;ttyS2" - PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" SPL_BINARY ?= "idbloader.img" diff --git a/conf/machine/include/rk3399.inc b/conf/machine/include/rk3399.inc index f6b7826..9f9f474 100644 --- a/conf/machine/include/rk3399.inc +++ b/conf/machine/include/rk3399.inc @@ -19,8 +19,6 @@ TFA_BUILD_TARGET = "bl31" UBOOT_SUFFIX ?= "itb" UBOOT_ENTRYPOINT ?= "0x06000000" -SERIAL_CONSOLES = "115200;ttyS2" - PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" SPL_BINARY ?= "idbloader.img" diff --git a/conf/machine/include/rock-pi-4.inc b/conf/machine/include/rock-pi-4.inc index 9c21084..a3e60c7 100644 --- a/conf/machine/include/rock-pi-4.inc +++ b/conf/machine/include/rock-pi-4.inc @@ -17,6 +17,4 @@ IMAGE_BOOT_FILES ?= "\ ${KERNEL_IMAGETYPE} \ " -SERIAL_CONSOLES = "1500000;ttyS2" - MACHINE_EXTRA_RRECOMMENDS += "kernel-modules" diff --git a/conf/machine/include/rockchip-defaults.inc b/conf/machine/include/rockchip-defaults.inc index a4e2a2c..fe4052e 100644 --- a/conf/machine/include/rockchip-defaults.inc +++ b/conf/machine/include/rockchip-defaults.inc @@ -21,6 +21,9 @@ XSERVER = " \ " # misc +RK_CONSOLE_DEVICE ?= "ttyS2" +RK_CONSOLE_BAUD ?= "1500000" +SERIAL_CONSOLES = "${RK_CONSOLE_BAUD};${RK_CONSOLE_DEVICE}" IMAGE_FSTYPES += "ext4" # boot device (sd-card/emmc) diff --git a/conf/machine/marsboard-rk3066.conf b/conf/machine/marsboard-rk3066.conf index 09414bc..52fd256 100644 --- a/conf/machine/marsboard-rk3066.conf +++ b/conf/machine/marsboard-rk3066.conf @@ -8,5 +8,4 @@ require conf/machine/include/rk3066.inc -SERIAL_CONSOLES = "115200;ttyS2" KERNEL_DEVICETREE = "rk3066a-marsboard.dtb" diff --git a/conf/machine/radxarock.conf b/conf/machine/radxarock.conf index 2036f6a..42d8848 100644 --- a/conf/machine/radxarock.conf +++ b/conf/machine/radxarock.conf @@ -9,5 +9,4 @@ require conf/machine/include/rk3188.inc -SERIAL_CONSOLES = "115200;ttyFIQ0" KERNEL_DEVICETREE = "rk3188-radxarock.dtb" -- 2.30.0.rc0
|
|
[meta-security][PATCH 2/2] apparmor: use its own initscript and service files
Yi Zhao
Use initscript and service files provided by apparmor.
Signed-off-by: Yi Zhao <yi.zhao@...> --- recipes-mac/AppArmor/apparmor_3.0.1.bb | 33 +-- ...x-hardcoded-installation-directories.patch | 51 ++++ ...pparmor.debian-add-missing-functions.patch | 57 ++++ recipes-mac/AppArmor/files/apparmor | 226 --------------- recipes-mac/AppArmor/files/apparmor.rc | 98 ------- recipes-mac/AppArmor/files/apparmor.service | 22 -- recipes-mac/AppArmor/files/functions | 271 ------------------ 7 files changed, 118 insertions(+), 640 deletions(-) create mode 100644 recipes-mac/AppArmor/files/0001-Makefile-fix-hardcoded-installation-directories.patch create mode 100644 recipes-mac/AppArmor/files/0001-rc.apparmor.debian-add-missing-functions.patch delete mode 100644 recipes-mac/AppArmor/files/apparmor delete mode 100644 recipes-mac/AppArmor/files/apparmor.rc delete mode 100644 recipes-mac/AppArmor/files/apparmor.service delete mode 100644 recipes-mac/AppArmor/files/functions diff --git a/recipes-mac/AppArmor/apparmor_3.0.1.bb b/recipes-mac/AppArmor/apparmor_3.0.1.bb index 6377683..ff5b39b 100644 --- a/recipes-mac/AppArmor/apparmor_3.0.1.bb +++ b/recipes-mac/AppArmor/apparmor_3.0.1.bb @@ -15,15 +15,13 @@ DEPENDS = "bison-native apr gettext-native coreutils-native swig-native" SRC_URI = " \ git://gitlab.com/apparmor/apparmor.git;protocol=https;branch=apparmor-3.0 \ + file://run-ptest \ file://disable_perl_h_check.patch \ file://crosscompile_perl_bindings.patch \ - file://apparmor.rc \ - file://functions \ - file://apparmor \ - file://apparmor.service \ file://0001-Makefile.am-suppress-perllocal.pod.patch \ - file://run-ptest \ file://0001-Revert-profiles-Update-make-check-to-select-tools-ba.patch \ + file://0001-Makefile-fix-hardcoded-installation-directories.patch \ + file://0001-rc.apparmor.debian-add-missing-functions.patch \ " SRCREV = "b0f08aa9d678197b8e3477c2fbff790f50a1de5e" @@ -79,8 +77,6 @@ do_compile () { } do_install () { - install -d ${D}/${INIT_D_DIR} - install -d ${D}/lib/apparmor oe_runmake -C ${B}/libraries/libapparmor DESTDIR="${D}" install oe_runmake -C ${B}/binutils DESTDIR="${D}" install oe_runmake -C ${B}/utils DESTDIR="${D}" install @@ -96,16 +92,16 @@ do_install () { fi if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then - install -d ${D}/lib/security oe_runmake -C ${B}/changehat/pam_apparmor DESTDIR="${D}" install fi - install -m 755 ${WORKDIR}/apparmor ${D}/${INIT_D_DIR}/apparmor - install -m 755 ${WORKDIR}/functions ${D}/lib/apparmor + if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then + install -d ${D}${sysconfdir}/init.d + install -m 755 ${B}/parser/rc.apparmor.debian ${D}${sysconfdir}/init.d/apparmor + fi if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/apparmor.service ${D}${systemd_system_unitdir} + oe_runmake -C ${B}/parser DESTDIR="${D}" install-systemd fi } @@ -152,15 +148,6 @@ do_install_ptest_arm() { : } -pkg_postinst_ontarget_${PN} () { -if [ ! -d /etc/apparmor.d/cache ] ; then - mkdir /etc/apparmor.d/cache -fi -} - -# We need the init script so don't rm it -RMINITDIR_class-target_remove = " rm_sysvinit_initddir" - INITSCRIPT_PACKAGES = "${PN}" INITSCRIPT_NAME = "apparmor" INITSCRIPT_PARAMS = "start 16 2 3 4 5 . stop 35 0 1 6 ." @@ -171,9 +158,9 @@ SYSTEMD_AUTO_ENABLE ?= "enable" PACKAGES += "mod-${PN}" -FILES_${PN} += "/lib/apparmor/ /lib/security/ ${sysconfdir}/apparmor ${nonarch_libdir}/${PYTHON_DIR}/site-packages" +FILES_${PN} += "${nonarch_base_libdir}/apparmor/ ${base_libdir}/security/ ${sysconfdir}/apparmor ${nonarch_libdir}/${PYTHON_DIR}/site-packages" FILES_mod-${PN} = "${libdir}/apache2/modules/*" -FILES_${PN}-dbg += "/lib/security/" +FILES_${PN}-dbg += "${base_libdir}/security/.debug" DEPENDS_append_libc-musl = " fts " RDEPENDS_${PN}_libc-musl += "musl-utils" diff --git a/recipes-mac/AppArmor/files/0001-Makefile-fix-hardcoded-installation-directories.patch b/recipes-mac/AppArmor/files/0001-Makefile-fix-hardcoded-installation-directories.patch new file mode 100644 index 0000000..f10acb1 --- /dev/null +++ b/recipes-mac/AppArmor/files/0001-Makefile-fix-hardcoded-installation-directories.patch @@ -0,0 +1,51 @@ +From 363114dcd72abf1c0dcd637c66037227b8be229b Mon Sep 17 00:00:00 2001 +From: Yi Zhao <yi.zhao@...> +Date: Mon, 21 Jun 2021 14:18:30 +0800 +Subject: [PATCH 1/2] Makefile: fix hardcoded installation directories + +Update the installation directories to fix the do_install error for +multilib and usrmerge. + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Yi Zhao <yi.zhao@...> +--- + changehat/pam_apparmor/Makefile | 2 +- + parser/Makefile | 8 ++++---- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/changehat/pam_apparmor/Makefile b/changehat/pam_apparmor/Makefile +index f6ece2d1..0143ae9f 100644 +--- a/changehat/pam_apparmor/Makefile ++++ b/changehat/pam_apparmor/Makefile +@@ -77,7 +77,7 @@ $(NAME).so: ${OBJECTS} + + # need some better way of determining this + DESTDIR=/ +-SECDIR ?= ${DESTDIR}/lib/security ++SECDIR ?= ${DESTDIR}/${base_libdir}/security + + .PHONY: install + install: $(NAME).so +diff --git a/parser/Makefile b/parser/Makefile +index 8250ac45..cf18bc11 100644 +--- a/parser/Makefile ++++ b/parser/Makefile +@@ -23,10 +23,10 @@ COMMONDIR=../common/ + include $(COMMONDIR)/Make.rules + + DESTDIR=/ +-APPARMOR_BIN_PREFIX=${DESTDIR}/lib/apparmor +-SBINDIR=${DESTDIR}/sbin +-USR_SBINDIR=${DESTDIR}/usr/sbin +-SYSTEMD_UNIT_DIR=${DESTDIR}/usr/lib/systemd/system ++APPARMOR_BIN_PREFIX=${DESTDIR}/${nonarch_base_libdir}/apparmor ++SBINDIR=${DESTDIR}/${base_sbindir} ++USR_SBINDIR=${DESTDIR}/${sbindir} ++SYSTEMD_UNIT_DIR=${DESTDIR}/${systemd_system_unitdir} + CONFDIR=/etc/apparmor + INSTALL_CONFDIR=${DESTDIR}${CONFDIR} + LOCALEDIR=/usr/share/locale +-- +2.17.1 + diff --git a/recipes-mac/AppArmor/files/0001-rc.apparmor.debian-add-missing-functions.patch b/recipes-mac/AppArmor/files/0001-rc.apparmor.debian-add-missing-functions.patch new file mode 100644 index 0000000..53bdde8 --- /dev/null +++ b/recipes-mac/AppArmor/files/0001-rc.apparmor.debian-add-missing-functions.patch @@ -0,0 +1,57 @@ +From a737c95ac0f887c365fe8f16583ea95da79de1e9 Mon Sep 17 00:00:00 2001 +From: Yi Zhao <yi.zhao@...> +Date: Mon, 21 Jun 2021 16:53:39 +0800 +Subject: [PATCH] rc.apparmor.debian: add missing functions + +Add missing functions: + aa_log_action_start + aa_log_action_end + aa_log_daemon_msg + aa_log_end_msg + +Fixes: +$ /etc/init.d/apparmor start +/lib/apparmor/rc.apparmor.functions: line 294: aa_log_daemon_msg: command not found +/lib/apparmor/rc.apparmor.functions: line 214: aa_log_action_start: command not found + +Upstream-Status: Pending + +Signed-off-by: Yi Zhao <yi.zhao@...> +--- + parser/rc.apparmor.debian | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/parser/rc.apparmor.debian b/parser/rc.apparmor.debian +index 8efd4400..f35124e8 100644 +--- a/parser/rc.apparmor.debian ++++ b/parser/rc.apparmor.debian +@@ -70,6 +70,26 @@ aa_log_skipped_msg() { + echo ": Skipped." + } + ++aa_log_action_start() ++{ ++ echo "$@" ++} ++ ++aa_log_action_end() ++{ ++ printf "" ++} ++ ++aa_log_daemon_msg() ++{ ++ echo "$@" ++} ++ ++aa_log_end_msg() ++{ ++ printf "" ++} ++ + usage() { + echo "Usage: $0 {start|stop|restart|try-restart|reload|force-reload|status|kill}" + } +-- +2.17.1 + diff --git a/recipes-mac/AppArmor/files/apparmor b/recipes-mac/AppArmor/files/apparmor deleted file mode 100644 index 604e48d..0000000 --- a/recipes-mac/AppArmor/files/apparmor +++ /dev/null @@ -1,226 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------------- -# Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 -# NOVELL (All rights reserved) -# Copyright (c) 2008, 2009 Canonical, Ltd. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of version 2 of the GNU General Public -# License published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, contact Novell, Inc. -# ---------------------------------------------------------------------- -# Authors: -# Steve Beattie <steve.beattie@...> -# Kees Cook <kees@...> -# -# /etc/init.d/apparmor -# -### BEGIN INIT INFO -# Provides: apparmor -# Required-Start: $local_fs -# Required-Stop: umountfs -# Default-Start: S -# Default-Stop: -# Short-Description: AppArmor initialization -# Description: AppArmor init script. This script loads all AppArmor profiles. -### END INIT INFO - -log_daemon_msg() { - echo $* -} - -log_end_msg () { - retval=$1 - if [ $retval -eq 0 ]; then - echo "." - else - echo " failed!" - fi - return $retval -} - -. /lib/apparmor/functions - -usage() { - echo "Usage: $0 {start|stop|restart|reload|force-reload|status|recache}" -} - -test -x ${PARSER} || exit 0 # by debian policy -# LSM is built-in, so it is either there or not enabled for this boot -test -d /sys/module/apparmor || exit 0 - -securityfs() { - # Need securityfs for any mode - if [ ! -d "${AA_SFS}" ]; then - if cut -d" " -f2,3 /proc/mounts | grep -q "^${SECURITYFS} securityfs"'$' ; then - log_daemon_msg "AppArmor not available as kernel LSM." - log_end_msg 1 - exit 1 - else - log_daemon_msg "Mounting securityfs on ${SECURITYFS}" - if ! mount -t securityfs none "${SECURITYFS}"; then - log_end_msg 1 - exit 1 - fi - fi - fi - if [ ! -w "$AA_SFS"/.load ]; then - log_daemon_msg "Insufficient privileges to change profiles." - log_end_msg 1 - exit 1 - fi -} - -handle_system_policy_package_updates() { - apparmor_was_updated=0 - - if ! compare_previous_version ; then - # On snappy flavors, if the current and previous versions are - # different then clear the system cache. snappy will handle - # "$PROFILES_CACHE_VAR" itself (on Touch flavors - # compare_previous_version always returns '0' since snappy - # isn't available). - clear_cache_system - apparmor_was_updated=1 - elif ! compare_and_save_debsums apparmor ; then - # If the system policy has been updated since the last time we - # ran, clear the cache to prevent potentially stale binary - # cache files after an Ubuntu image based upgrade (LP: - # #1350673). This can be removed once all system image flavors - # move to snappy (on snappy systems compare_and_save_debsums - # always returns '0' since /var/lib/dpkg doesn't exist). - clear_cache - apparmor_was_updated=1 - fi - - if [ -x /usr/bin/aa-clickhook ] || [ -x /usr/bin/aa-profile-hook ] ; then - # If packages for system policy that affect click packages have - # been updated since the last time we ran, run aa-clickhook -f - force_clickhook=0 - force_profile_hook=0 - if ! compare_and_save_debsums apparmor-easyprof-ubuntu ; then - force_clickhook=1 - fi - if ! compare_and_save_debsums apparmor-easyprof-ubuntu-snappy ; then - force_clickhook=1 - fi - if ! compare_and_save_debsums click-apparmor ; then - force_clickhook=1 - force_profile_hook=1 - fi - if [ -x /usr/bin/aa-clickhook ] && ([ $force_clickhook -eq 1 ] || [ $apparmor_was_updated -eq 1 ]) ; then - aa-clickhook -f - fi - if [ -x /usr/bin/aa-profile-hook ] && ([ $force_profile_hook -eq 1 ] || [ $apparmor_was_updated -eq 1 ]) ; then - aa-profile-hook -f - fi - fi -} - -# Allow "recache" even when running on the liveCD -if [ "$1" = "recache" ]; then - log_daemon_msg "Recaching AppArmor profiles" - recache_profiles - rc=$? - log_end_msg "$rc" - exit $rc -fi - -# do not perform start/stop/reload actions when running from liveCD -test -d /rofs/etc/apparmor.d && exit 0 - -rc=255 -case "$1" in - start) - if test -x /sbin/systemd-detect-virt && \ - systemd-detect-virt --quiet --container && \ - ! is_container_with_internal_policy; then - log_daemon_msg "Not starting AppArmor in container" - log_end_msg 0 - exit 0 - fi - log_daemon_msg "Starting AppArmor profiles" - securityfs - # That is only useful for click, snappy and system images, - # i.e. not in Debian. And it reads and writes to /var, that - # can be remote-mounted, so it would prevent us from using - # Before=sysinit.target without possibly introducing dependency - # loops. - handle_system_policy_package_updates - load_configured_profiles - rc=$? - log_end_msg "$rc" - ;; - stop) - log_daemon_msg "Clearing AppArmor profiles cache" - clear_cache - rc=$? - log_end_msg "$rc" - cat >&2 <<EOM -All profile caches have been cleared, but no profiles have been unloaded. -Unloading profiles will leave already running processes permanently -unconfined, which can lead to unexpected situations. - -To set a process to complain mode, use the command line tool -'aa-complain'. To really tear down all profiles, run the init script -with the 'teardown' option." -EOM - ;; - teardown) - if test -x /sbin/systemd-detect-virt && \ - systemd-detect-virt --quiet --container && \ - ! is_container_with_internal_policy; then - log_daemon_msg "Not tearing down AppArmor in container" - log_end_msg 0 - exit 0 - fi - log_daemon_msg "Unloading AppArmor profiles" - securityfs - running_profile_names | while read profile; do - if ! unload_profile "$profile" ; then - log_end_msg 1 - exit 1 - fi - done - rc=0 - log_end_msg $rc - ;; - restart|reload|force-reload) - if test -x /sbin/systemd-detect-virt && \ - systemd-detect-virt --quiet --container && \ - ! is_container_with_internal_policy; then - log_daemon_msg "Not reloading AppArmor in container" - log_end_msg 0 - exit 0 - fi - log_daemon_msg "Reloading AppArmor profiles" - securityfs - clear_cache - load_configured_profiles - rc=$? - unload_obsolete_profiles - - log_end_msg "$rc" - ;; - status) - securityfs - if [ -x /usr/sbin/aa-status ]; then - aa-status --verbose - else - cat "$AA_SFS"/profiles - fi - rc=$? - ;; - *) - usage - rc=1 - ;; - esac -exit $rc diff --git a/recipes-mac/AppArmor/files/apparmor.rc b/recipes-mac/AppArmor/files/apparmor.rc deleted file mode 100644 index 1507d7b..0000000 --- a/recipes-mac/AppArmor/files/apparmor.rc +++ /dev/null @@ -1,98 +0,0 @@ -description "Pre-cache and pre-load apparmor profiles" -author "Dimitri John Ledkov <xnox@...> and Jamie Strandboge <jamie@...>" - -task - -start on starting rc-sysinit - -script - [ -d /rofs/etc/apparmor.d ] && exit 0 # do not load on liveCD - [ -d /sys/module/apparmor ] || exit 0 # do not load without AppArmor - [ -x /sbin/apparmor_parser ] || exit 0 # do not load without parser - - . /lib/apparmor/functions - - systemd-detect-virt --quiet --container && ! is_container_with_internal_policy && exit 0 || true - - # Need securityfs for any mode - if [ ! -d /sys/kernel/security/apparmor ]; then - if cut -d" " -f2,3 /proc/mounts | grep -q "^/sys/kernel/security securityfs"'$' ; then - exit 0 - else - mount -t securityfs none /sys/kernel/security || exit 0 - fi - fi - - [ -w /sys/kernel/security/apparmor/.load ] || exit 0 - - apparmor_was_updated=0 - if ! compare_previous_version ; then - # On snappy flavors, if the current and previous versions are - # different then clear the system cache. snappy will handle - # "$PROFILES_CACHE_VAR" itself (on Touch flavors - # compare_previous_version always returns '0' since snappy - # isn't available). - clear_cache_system - apparmor_was_updated=1 - elif ! compare_and_save_debsums apparmor ; then - # If the system policy has been updated since the last time we - # ran, clear the cache to prevent potentially stale binary - # cache files after an Ubuntu image based upgrade (LP: - # #1350673). This can be removed once all system image flavors - # move to snappy (on snappy systems compare_and_save_debsums - # always returns '0' since /var/lib/dpkg doesn't exist). - clear_cache - apparmor_was_updated=1 - fi - - if [ -x /usr/bin/aa-clickhook ] || [ -x /usr/bin/aa-profile-hook ] ; then - # If packages for system policy that affect click packages have - # been updated since the last time we ran, run aa-clickhook -f - force_clickhook=0 - force_profile_hook=0 - if ! compare_and_save_debsums apparmor-easyprof-ubuntu ; then - force_clickhook=1 - fi - if ! compare_and_save_debsums apparmor-easyprof-ubuntu-snappy ; then - force_clickhook=1 - fi - if ! compare_and_save_debsums click-apparmor ; then - force_clickhook=1 - force_profile_hook=1 - fi - if [ -x /usr/bin/aa-clickhook ] && ([ $force_clickhook -eq 1 ] || [ $apparmor_was_updated -eq 1 ]) ; then - aa-clickhook -f - fi - if [ -x /usr/bin/aa-profile-hook ] && ([ $force_profile_hook -eq 1 ] || [ $apparmor_was_updated -eq 1 ]) ; then - aa-profile-hook -f - fi - fi - - if [ "$ACTION" = "teardown" ]; then - running_profile_names | while read profile; do - unload_profile "$profile" - done - exit 0 - fi - - if [ "$ACTION" = "clear" ]; then - clear_cache - exit 0 - fi - - if [ "$ACTION" = "reload" ] || [ "$ACTION" = "force-reload" ]; then - clear_cache - load_configured_profiles - unload_obsolete_profiles - exit 0 - fi - - # Note: if apparmor-easyprof-ubuntu md5sums didn't match up above, - # aa-clickhook will have already compiled the policy, generated the cache - # files and loaded them into the kernel by this point, so reloading click - # policy from cache, while fairly fast (<2 seconds for 250 profiles on - # armhf), is redundant. Fixing this would complicate the logic quite a bit - # and it wouldn't improve the (by far) common case (ie, when - # 'aa-clickhook -f' is not run). - load_configured_profiles -end script diff --git a/recipes-mac/AppArmor/files/apparmor.service b/recipes-mac/AppArmor/files/apparmor.service deleted file mode 100644 index e66afe4..0000000 --- a/recipes-mac/AppArmor/files/apparmor.service +++ /dev/null @@ -1,22 +0,0 @@ -[Unit] -Description=AppArmor initialization -After=local-fs.target -Before=sysinit.target -AssertPathIsReadWrite=/sys/kernel/security/apparmor/.load -ConditionSecurity=apparmor -DefaultDependencies=no -Documentation=man:apparmor(7) -Documentation=http://wiki.apparmor.net/ - -# Don't start this unit on the Ubuntu Live CD -ConditionPathExists=!/rofs/etc/apparmor.d - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/etc/init.d/apparmor start -ExecStop=/etc/init.d/apparmor stop -ExecReload=/etc/init.d/apparmor reload - -[Install] -WantedBy=sysinit.target diff --git a/recipes-mac/AppArmor/files/functions b/recipes-mac/AppArmor/files/functions deleted file mode 100644 index e9e2bbf..0000000 --- a/recipes-mac/AppArmor/files/functions +++ /dev/null @@ -1,271 +0,0 @@ -# /lib/apparmor/functions for Debian -*- shell-script -*- -# ---------------------------------------------------------------------- -# Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 -# NOVELL (All rights reserved) -# Copyright (c) 2008-2010 Canonical, Ltd. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of version 2 of the GNU General Public -# License published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, contact Novell, Inc. -# ---------------------------------------------------------------------- -# Authors: -# Kees Cook <kees@...> - -PROFILES="/etc/apparmor.d" -PROFILES_CACHE="$PROFILES/cache" -PROFILES_VAR="/var/lib/apparmor/profiles" -PROFILES_SNAPPY="/var/lib/snapd/apparmor/profiles" -PROFILES_CACHE_VAR="/var/cache/apparmor" -PARSER="/sbin/apparmor_parser" -SECURITYFS="/sys/kernel/security" -export AA_SFS="$SECURITYFS/apparmor" - -# Suppress warnings when booting in quiet mode -quiet_arg="" -[ "${QUIET:-no}" = yes ] && quiet_arg="-q" -[ "${quiet:-n}" = y ] && quiet_arg="-q" - -foreach_configured_profile() { - rc_all="0" - for pdir in "$PROFILES" "$PROFILES_VAR" "$PROFILES_SNAPPY" ; do - if [ ! -d "$pdir" ]; then - continue - fi - num=`find "$pdir" -type f ! -name '*.md5sums' | wc -l` - if [ "$num" = "0" ]; then - continue - fi - - cache_dir="$PROFILES_CACHE" - if [ -d "$PROFILES_CACHE_VAR" ] && [ "$pdir" = "$PROFILES_VAR" ] || [ "$pdir" = "$PROFILES_SNAPPY" ]; then - cache_dir="$PROFILES_CACHE_VAR" - fi - cache_args="--cache-loc=$cache_dir" - if [ ! -d "$cache_dir" ]; then - cache_args= - fi - - # LP: #1383858 - expr tree simplification is too slow for - # Touch policy on ARM, so disable it for now - cache_extra_args= - if [ -d "$PROFILES_CACHE_VAR" ] && [ "$pdir" = "$PROFILES_VAR" ] || [ "$pdir" = "$PROFILES_SNAPPY" ]; then - cache_extra_args="-O no-expr-simplify" - fi - - # If need to compile everything, then use -n1 with xargs to - # take advantage of -P. When cache files are in use, omit -n1 - # since it is considerably faster on moderately sized profile - # sets to give the parser all the profiles to load at once - n1_args= - num=`find "$cache_dir" -type f ! -name '.features' | wc -l` - if [ "$num" = "0" ]; then - n1_args="-n1" - fi - - (ls -1 "$pdir" | egrep -v '(\.dpkg-(new|old|dist|bak)|~)$' | \ - while read profile; do - if [ -f "$pdir"/"$profile" ]; then - echo "$pdir"/"$profile" - fi - done) | \ - xargs $n1_args -d"\n" -P$(getconf _NPROCESSORS_ONLN) "$PARSER" "$@" $cache_args $cache_extra_args -- || { - rc_all="$?" - # FIXME: when the parser properly handles broken - # profiles (LP: #1377338), remove this if statement. - # For now, if the xargs returns with error, just run - # through everything with -n1. (This could be broken - # out and refactored, but this is temporary so make it - # easy to understand and revert) - if [ "$rc_all" != "0" ]; then - (ls -1 "$pdir" | \ - egrep -v '(\.dpkg-(new|old|dist|bak)|~)$' | \ - while read profile; do - if [ -f "$pdir"/"$profile" ]; then - echo "$pdir"/"$profile" - fi - done) | \ - xargs -n1 -d"\n" -P$(getconf _NPROCESSORS_ONLN) "$PARSER" "$@" $cache_args $cache_extra_args -- || { - rc_all="$?" - } - fi - } - done - return $rc_all -} - -load_configured_profiles() { - clear_cache_if_outdated - foreach_configured_profile $quiet_arg --write-cache --replace -} - -load_configured_profiles_without_caching() { - foreach_configured_profile $quiet_arg --replace -} - -recache_profiles() { - clear_cache - foreach_configured_profile $quiet_arg --write-cache --skip-kernel-load -} - -configured_profile_names() { - foreach_configured_profile $quiet_arg -N 2>/dev/null | LC_COLLATE=C sort | grep -v '//' -} - -running_profile_names() { - # Output a sorted list of loaded profiles, skipping libvirt's - # dynamically generated files - cat "$AA_SFS"/profiles | sed -e "s/ (\(enforce\|complain\))$//" | egrep -v '^libvirt-[0-9a-f\-]+$' | LC_COLLATE=C sort | grep -v '//' -} - -unload_profile() { - echo -n "$1" > "$AA_SFS"/.remove -} - -clear_cache() { - clear_cache_system - clear_cache_var -} - -clear_cache_system() { - find "$PROFILES_CACHE" -maxdepth 1 -type f -print0 | xargs -0 rm -f -- -} - -clear_cache_var() { - find "$PROFILES_CACHE_VAR" -maxdepth 1 -type f -print0 | xargs -0 rm -f -- -} - -read_features_dir() -{ - for f in `ls -A "$1"` ; do - if [ -f "$1/$f" ] ; then - read -r KF < "$1/$f" || true - echo -n "$f {$KF } " - elif [ -d "$1/$f" ] ; then - echo -n "$f {" - KF=`read_features_dir "$1/$f"` || true - echo -n "$KF} " - fi - done -} - -clear_cache_if_outdated() { - if [ -r "$PROFILES_CACHE"/.features ]; then - if [ -d "$AA_SFS"/features ]; then - KERN_FEATURES=`read_features_dir "$AA_SFS"/features` - else - read -r KERN_FEATURES < "$AA_SFS"/features - fi - CACHE_FEATURES=`tr '\n' ' ' < "$PROFILES_CACHE"/.features` - if [ "$KERN_FEATURES" != "$CACHE_FEATURES" ]; then - clear_cache - fi - fi -} - -unload_obsolete_profiles() { - # Currently we must re-parse all the profiles to get policy names. :( - aa_configured=$(mktemp -t aa-XXXXXX) - configured_profile_names > "$aa_configured" || true - aa_loaded=$(mktemp -t aa-XXXXXX) - running_profile_names > "$aa_loaded" || true - LC_COLLATE=C comm -2 -3 "$aa_loaded" "$aa_configured" | while read profile ; do - unload_profile "$profile" - done - rm -f "$aa_configured" "$aa_loaded" -} - -# If the system debsum differs from the saved debsum, the new system debsum is -# saved and non-zero is returned. Returns 0 if the two debsums matched or if -# the system debsum file does not exist. This can be removed when system image -# flavors all move to snappy. -compare_and_save_debsums() { - pkg="$1" - - if [ -n $pkg ] && [ -d "$PROFILES_VAR" ]; then - sums="/var/lib/dpkg/info/${pkg}.md5sums" - # store saved md5sums in /var/lib/apparmor/profiles since - # /var/cache/apparmor might be cleared by apparmor - saved_sums="${PROFILES_VAR}/.${pkg}.md5sums" - - if [ -f "$sums" ] && \ - ! diff -q "$sums" "$saved_sums" 2>&1 >/dev/null ; then - cp -f "$sums" "$saved_sums" - return 1 - fi - fi - - return 0 -} - -compare_previous_version() { - installed="/usr/share/snappy/security-policy-version" - previous="/var/lib/snappy/security-policy-version" - - # When just $previous doesn't exist, assume this is a new system with - # no cache and don't do anything special. - if [ -f "$installed" ] && [ -f "$previous" ]; then - pv=`grep '^apparmor/' "$previous" | cut -d ' ' -f 2` - iv=`grep '^apparmor/' "$installed" | cut -d ' ' -f 2` - if [ -n "$iv" ] && [ -n "$pv" ] && [ "$iv" != "$pv" ]; then - # snappy updates $previous elsewhere, so just return - return 1 - fi - fi - - return 0 -} - -# Checks to see if the current container is capable of having internal AppArmor -# profiles that should be loaded. Callers of this function should have already -# verified that they're running inside of a container environment with -# something like `systemd-detect-virt --container`. -# -# The only known container environments capable of supporting internal policy -# are LXD and LXC environment. -# -# Returns 0 if the container environment is capable of having its own internal -# policy and non-zero otherwise. -# -# IMPORTANT: This function will return 0 in the case of a non-LXD/non-LXC -# system container technology being nested inside of a LXD/LXC container that -# utilized an AppArmor namespace and profile stacking. The reason 0 will be -# returned is because .ns_stacked will be "yes" and .ns_name will still match -# "lx[dc]-*" since the nested system container technology will not have set up -# a new AppArmor profile namespace. This will result in the nested system -# container's boot process to experience failed policy loads but the boot -# process should continue without any loss of functionality. This is an -# unsupported configuration that cannot be properly handled by this function. -is_container_with_internal_policy() { - local ns_stacked_path="${AA_SFS}/.ns_stacked" - local ns_name_path="${AA_SFS}/.ns_name" - local ns_stacked - local ns_name - - if ! [ -f "$ns_stacked_path" ] || ! [ -f "$ns_name_path" ]; then - return 1 - fi - - read -r ns_stacked < "$ns_stacked_path" - if [ "$ns_stacked" != "yes" ]; then - return 1 - fi - - # LXD and LXC set up AppArmor namespaces starting with "lxd-" and - # "lxc-", respectively. Return non-zero for all other namespace - # identifiers. - read -r ns_name < "$ns_name_path" - if [ "${ns_name#lxd-*}" = "$ns_name" ] && \ - [ "${ns_name#lxc-*}" = "$ns_name" ]; then - return 1 - fi - - return 0 -} -- 2.25.1
|
|