From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AAEC4C4708C for ; Mon, 5 Dec 2022 23:46:45 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 223C383A26; Tue, 6 Dec 2022 00:46:43 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="tgEsBqmj"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 2AD608363D; Tue, 6 Dec 2022 00:46:41 +0100 (CET) Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com [IPv6:2a00:1450:4864:20::429]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 014F580705 for ; Tue, 6 Dec 2022 00:46:38 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-wr1-x429.google.com with SMTP id h12so21161300wrv.10 for ; Mon, 05 Dec 2022 15:46:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=8xZ4s9zKRQQ3v/s1NzLTCDO4NM8THGhEjo5XKGnxJms=; b=tgEsBqmjzsMxHcHOEjV/cZgOSI3Yy9Ai/sspvGzxTvm4MgK+EBVRjGO843PEBN8i2p LhBIUmUKG4pWZyGG/b7MEDguVzHJTrXmCZT+Rtr1vVDyvF+TFgtBHhfzR73jN2ntXm/H 6hK3aCT/woQlOU30Wo+s3Up/2pAjBXM8VomDs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=8xZ4s9zKRQQ3v/s1NzLTCDO4NM8THGhEjo5XKGnxJms=; b=sUvJegh0n/mjkNhLsE+/QEIwlRykey/3f2Pkhu6wgpjjABGgMc8+0xAfDsEuAxRXQd nFHPfXgAzFSpa7No0eeiGsi/RE774XUcSJsxKMMS/wCUKwT00XJ1skLICsY8DxsyUD4n fQb/HgDQTIXj/fp2Z9hAFgdFmMO+wExxf5CY4FSO7nH32sP1XpCKk15plBUrA3ac2Qnb tjwMpMqBu16Kpnsbo0bz9Ia1ozWs+D/D9XUqPdBlSlgLcUCxRbnedmu6qhHCdabh826h VLWT7G+zfh0zYZ3Kx7Ys1c7MkjfX/rmyJTRHYa8vs0M7WYiCCPymgegdibuiFdvPMkxL kUyw== X-Gm-Message-State: ANoB5pmUdd+oCEcE7i3NzKMlT6tr1McvgqyAu6VzGqTwssKK/OQ2CLh8 4gIGsWt+T5WTRX9Kb2IscAYv0lVRfpGdSkl1 X-Google-Smtp-Source: AA0mqf6FgcDpmJzCMMVO9voQS713uDgF31PeRzOKuojMFJPlkZlwHYJ+vcmqGOy3rPiGAhNKR5YW3A== X-Received: by 2002:a05:6000:85:b0:242:64e9:2348 with SMTP id m5-20020a056000008500b0024264e92348mr3848261wrx.705.1670283997393; Mon, 05 Dec 2022 15:46:37 -0800 (PST) Received: from bill-the-cat (2603-6081-7b00-6400-3974-0ce5-e869-8ac0.res6.spectrum.com. [2603:6081:7b00:6400:3974:ce5:e869:8ac0]) by smtp.gmail.com with ESMTPSA id j3-20020adfd203000000b002366c3eefccsm15361703wrh.109.2022.12.05.15.46.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Dec 2022 15:46:36 -0800 (PST) Date: Mon, 5 Dec 2022 18:46:33 -0500 From: Tom Rini To: Peter Robinson Cc: Simon Glass , U-Boot Mailing List , Rasmus Villemoes Subject: Re: [PATCH v5 10/16] buildman: Detect binman reporting missing blobs Message-ID: <20221205234633.GD3787616@bill-the-cat> References: <20221110021455.1004335-1-sjg@chromium.org> <20221110021455.1004335-11-sjg@chromium.org> <20221205232338.GB3787616@bill-the-cat> <20221205233459.GC3787616@bill-the-cat> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="i+yzTqNyNhelWXoM" Content-Disposition: inline In-Reply-To: X-Clacks-Overhead: GNU Terry Pratchett X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean --i+yzTqNyNhelWXoM Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Dec 05, 2022 at 11:43:24PM +0000, Peter Robinson wrote: > On Mon, Dec 5, 2022 at 11:35 PM Tom Rini wrote: > > > > On Mon, Dec 05, 2022 at 11:29:30PM +0000, Peter Robinson wrote: > > > On Mon, Dec 5, 2022 at 11:23 PM Tom Rini wrote: > > > > > > > > On Mon, Dec 05, 2022 at 11:13:03PM +0000, Peter Robinson wrote: > > > > > On Thu, Nov 10, 2022 at 2:17 AM Simon Glass wr= ote: > > > > > > > > > > > > Buildman should consider a build as a success (with warnings) i= f missing > > > > > > blobs have been dealt with by binman, even though buildman itse= lf returns > > > > > > and error code overall. This is how other warnings are dealt wi= th. > > > > > > > > > > > > We cannot easily access the 103 exit code, so detect the proble= m in the > > > > > > output. > > > > > > > > > > > > With this change, missing blobs result in an exit code of 101, = although > > > > > > they still indicate failure. > > > > > > > > > > So either this or Tom's change of "buildman: Add --allow-missing = flag > > > > > to allow missing blobs" has broken rc3 builds for Allwinner board= s on > > > > > Fedora. Tom's isn't a clean revert and I've not had time to test = that > > > > > but either way the SCP firmware is optional and it works just fin= e, > > > > > ATM we don't have the SCP firmware available to Fedora builds. > > > > > > > > > > Maybe that sort of of change to the build is expected but which e= ver > > > > > patch it is, and adding "BINMAN_ALLOW_MISSING=3D1" changes the er= ror but > > > > > doesn't change the overall failure, I wouldn't expect this sort of > > > > > breakage so late in the cycle. > > > > > > > > > > Do either of you know which one does the hard breakage here? I th= ought > > > > > I'd highlight it now because I don't have time over the next two = weeks > > > > > to fully investigate the regression. > > > > > > > > So, is this for 32bit or 64bit? I only have a 64bit allwinner in my= lab > > > > > > 64 bit, 32 bit is EOL in Fedora as of F-36. > > > > > > > and it needs (I've been assuming, since I'm also passing in SCP) BL= 31 as > > > > > > BL31 isn't the same as SCP, the later is a firmware for the onboard > > > PMIC co-processor where as BL31 is Arm Trusted Firmware. > > > > Right, yes. > > > > > > well. And since you're mentioning buildman, I assume Fedora IS usi= ng > > > > that rather than make to build everything. I'll go and think about = this > > > > > > I'm using: > > > make pine64_plus_defconfig O=3Dbuilds/pine64_plus/ > > > cp /usr/share/arm-trusted-firmware/sun50i_a64/bl31.bin builds/pine64_= plus/ > > > make CROSS_COMPILE=3D"/usr/bin/aarch64-linux-gnu-" O=3Dbuilds/pine64_= plus/ > > > > OK, that's a little different than how I run make, that's why it wasn't > > caught at least. I do: > > export SCP=3D/home/trini/work/u-boot/external-binaries/pine64_plus/scp.= bin > > export BL31=3D/home/trini/work/u-boot/external-binaries/pine64_plus/bl3= 1.bin > > make O=3D/tmp/pine64_plus pine64_plus_defconfig all -sj$(nproc) >=20 > We build ~90 boards so we've historically copied it to each of the > board build output directories, could look at setting vars for each of > the loops too. >=20 > > > I thought binman was basically default for this now. > > > > We have too many *man tools sometimes. I thought you said buildman, yes, > > binman assembles the images here, when invoking make. Digging more now, > > thanks! >=20 > It could easily be me getting confused, trying to balance a lot of > plates right now :-/ OK, so yes, you've found a problem here. What I need to throw a CI loop at now is: diff --git a/Makefile b/Makefile index d48f52f2943b..b2253ac8ecde 100644 --- a/Makefile +++ b/Makefile @@ -1334,7 +1334,7 @@ cmd_binman =3D $(srctree)/tools/binman/binman $(if $(= BINMAN_DEBUG),-D) \ --toolpath $(objtree)/tools \ $(if $(BINMAN_VERBOSE),-v$(BINMAN_VERBOSE)) \ build -u -d u-boot.dtb -O . -m \ - $(if $(BINMAN_ALLOW_MISSING),--allow-missing --fake-ext-blobs) \ + $(if $(BINMAN_ALLOW_MISSING),--allow-missing --ignore-missing) \ -I . -I $(srctree) -I $(srctree)/board/$(BOARDDIR) \ -I arch/$(ARCH)/dts -a of-list=3D$(CONFIG_OF_LIST) \ $(foreach f,$(BINMAN_INDIRS),-I $(f)) \ Which means that this then works: $ (export CROSS_COMPILE=3D~/.buildman-toolchains/gcc-11.1.0-nolibc/aarch64-= linux/bin/aarch64-linux- ; make pine64_plus_defconfig O=3Dbuilds/pine64_plu= s ; cp /home/trini/work/u-boot/external-binaries/pine64_plus/bl31.bin build= s/pine64_plus ; BINMAN_ALLOW_MISSING=3D1 make O=3Dbuilds/pine64_plus -sj$(n= proc); echo $?) make[1]: Entering directory '/home/trini/work/u-boot/u-boot/builds/pine64_p= lus' GEN Makefile # # configuration written to .config # make[1]: Leaving directory '/home/trini/work/u-boot/u-boot/builds/pine64_pl= us' Image 'main-section' is missing external blobs and is non-functional: scp /binman/u-boot-sunxi-with-spl/fit/images/scp/scp: SCP firmware is required for system suspend, but is otherwise optional. Please read the section on SCP firmware in board/sunxi/README.sunxi64 Some images are invalid 0 $ And restores the old behavior, if you insist that you want binaries to be missing, which in your case you do on allwinner (but not elswhere, right?) --=20 Tom --i+yzTqNyNhelWXoM Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQGzBAABCgAdFiEEGjx/cOCPqxcHgJu/FHw5/5Y0tywFAmOOgs8ACgkQFHw5/5Y0 tywhqQwAq9RdLEaXK6D4+N1OANh0hhuzfSSvvpFmqylpFAnO52c1h+EMgTflYtpt aUBCeM4x1qRE/cHGP8/ymFcoodKFJm7CG+x1gQQHTv3ziXFoDTTmfE88rfRNMW8I 8jAyzki5kid4vhUjeyGf3oM2jdPp6aadDHXrDA6NjTe8wyjO7KtiZfLd50K30+3R E/6CwRu5Y/2VDow0YtxxHGJ5j+XEPb9c2PALqIMVm7IFUwetZifie0riSTaxyFjP vb0GarfGP5XnNVMee2ts23fJ57m6Pq+DCWlvEve1pLnn0g+fmXM/oVRl23PKsb/i 9pNCR6tC6VYEZQmLk3Wcsk47nmim7Nwnp6NSKi7/NBvdlzvfmyExaGzMN/HUhnMD 2gpQ+kNNh3HovNsIVLdEO91h8k40qUMB26I/B/+QXya4mf12uXY8YAzyh60FHzhv olyOSApB7Bd71l3TRMkKexs2iDOPs8SWPwYmkAlzTG7OHOsmT4m6f7zwZahLUtz6 Wd1nrDeF =+hz6 -----END PGP SIGNATURE----- --i+yzTqNyNhelWXoM--