From nobody Wed Feb 11 08:37:41 2026 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 579A54F8A1 for ; Tue, 21 May 2024 06:51:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716274278; cv=none; b=HME/GAXFwSRssRD1R6jliRsERGIOyjhoYYIA+nC0WzhaGGSGZYwtTlbEDXIrynDPiIYN8PoVwGo7P3wE4kz5x1B5Ksz4d0ovuUztbX00splDEe3g4avrzu8rM1lkU8PjKOLf117XGu7BtDalHi8zcaFUbQuJfOce+szmUbdi9a8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716274278; c=relaxed/simple; bh=tlZwiytyy7GUSuUxcwpKbDSIVmkSh/Ozgpm8JddXkGk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cylqZvEcIJjSj8LkBE3XBhN9WiQ1AbHlzuPC1baid3beTNoBUbi8YKzsPXDr8h/PX4nKBUNFlnSOJty40S94/Wo4ZkO+5GN6+qKj3LcVuciN5Afzm6+h9KSMLUjZ4A9x7NP0+UvT3byOo0hqtlZ/7rNHxnbBYk7BO+MoqTQYFSE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=eJyuYSfR; arc=none smtp.client-ip=209.85.214.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="eJyuYSfR" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-1f0537e39b3so95641255ad.3 for ; Mon, 20 May 2024 23:51:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1716274276; x=1716879076; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LiOnX2/+/NaKrnz1dB8iIjPpDkqOamcc1T4O8qQETy8=; b=eJyuYSfRkvrN0xS5Zvk/jVk9fBGIH44YvVVYl2mlnexQ6UJLNc85cwLaZEU0NFMd3r DXIpqh6gA8m0s1kKtBFuSESXviSsKUQg+tcHv2EPx5Oc67w3kpspbJX9RqYGdESjSsZX yf/BKVlFeGbnV/mVXC8YoOuZA9euGvpF3yJ2A= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716274276; x=1716879076; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LiOnX2/+/NaKrnz1dB8iIjPpDkqOamcc1T4O8qQETy8=; b=V7Yu+TEV1mk1EpcK7J0eGk5Jciu1Feqk/0lcGxqXUS3LUemKxgcw8WA8t6ppf2p1Mh kZWHuhEy4MZGIAlXNCKNNqvxa55FPN3X1Wpy5NEhqDIQq+JK56iC4KI35oDm3mj812R+ 0AFh1vFy3RXjTN3QT4vutM+eKeCuk/CORG2Khx4OzQZNO8XdflmhuWCLYUY1haXYC3Md hpqq84971n5xwmwIC3ufoWwW4JyRkRtW6nY1rY79VGMlpOJlVrqd2qscdSnVRGy9WmMn BPVO+RliCh1BsGDTtBuqqrQ6rtc78iT5eUwh5WFEQiFmQCcIsiTni5AMI05obBaP49UP 34Ug== X-Forwarded-Encrypted: i=1; AJvYcCXxyWB7Xv8E/mw5nhm1CS+KdXRPFOzHzstkLqtl/RogshjJVEwfNCWGZie+RSCzPQ5m+uWWm/pxkaEaydJHvzRSabYerxg96Aj73gjQ X-Gm-Message-State: AOJu0YympUCPzLAK4OoxepAoNc3DCtIEUZ79ZlLuh2W3z1I4U7UV4Nph vHIGUSygQ3sYRLnYVehMDunU/VEKsy6PvhS1MBP23716doO7u6ncvBiPPQDotg== X-Google-Smtp-Source: AGHT+IFRGCP8dFUwAhY6qs1u8kwpNhPXOrM44sdM7NC90XH1PWwnNaqP5n/f4xBogtT8DcTByxtu5g== X-Received: by 2002:a05:6a20:9746:b0:1aa:6a28:cf6e with SMTP id adf61e73a8af0-1afde1c5506mr29051396637.48.1716274276630; Mon, 20 May 2024 23:51:16 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2401:fa00:1:10:f8a5:77aa:5a0d:e30c]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1f30644ad48sm23100985ad.169.2024.05.20.23.51.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 May 2024 23:51:16 -0700 (PDT) From: Chen-Yu Tsai To: Simon Glass , Masahiro Yamada , Nathan Chancellor , Nicolas Schier Cc: Chen-Yu Tsai , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org Subject: [PATCH 1/2] scripts/make_fit: Drop fdt image entry compatible string Date: Tue, 21 May 2024 14:51:04 +0800 Message-ID: <20240521065107.30371-2-wenst@chromium.org> X-Mailer: git-send-email 2.45.0.215.g3402c0e53f-goog In-Reply-To: <20240521065107.30371-1-wenst@chromium.org> References: <20240521065107.30371-1-wenst@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" According to the FIT image spec, the compatible string in the fdt image node or any image node specifies the method to load the image, not the compatible string embedded in the FDT or used for matching. Drop the compatible string from the fdt image entry node. While at it also fix up a typo in the document section of output_dtb. Fixes: 7a23b027ec17 ("arm64: boot: Support Flat Image Tree") Signed-off-by: Chen-Yu Tsai --- scripts/make_fit.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/make_fit.py b/scripts/make_fit.py index 3de90c5a094b..263147df80a4 100755 --- a/scripts/make_fit.py +++ b/scripts/make_fit.py @@ -190,7 +190,7 @@ def output_dtb(fsw, seq, fname, arch, compress): Args: fsw (libfdt.FdtSw): Object to use for writing seq (int): Sequence number (1 for first) - fmame (str): Filename containing the DTB + fname (str): Filename containing the DTB arch: FIT architecture, e.g. 'arm64' compress (str): Compressed algorithm, e.g. 'gzip' =20 @@ -211,7 +211,6 @@ def output_dtb(fsw, seq, fname, arch, compress): fsw.property_string('type', 'flat_dt') fsw.property_string('arch', arch) fsw.property_string('compression', compress) - fsw.property('compatible', bytes(compat)) =20 with open(fname, 'rb') as inf: compressed =3D compress_data(inf, compress) --=20 2.45.0.215.g3402c0e53f-goog From nobody Wed Feb 11 08:37:41 2026 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 83F3E51C30 for ; Tue, 21 May 2024 06:51:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716274281; cv=none; b=fM7V9haVojhTtmkZTQ1yaMD9+xtP9WVH8Z2HqaavRftaoW+Jt3/OF28lxBYzw5/J9cbtacTY7ddHql2ImaAoxgyPPpNHME7YP+blAyC7KJF93mDLQyb6luSonYyJpxiEe3gV3vunOu+fFI3qUcMqre9lUuObCXI9NO96JrsYaug= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716274281; c=relaxed/simple; bh=OH4cLngpr688D6c6flc0xYeuNkIFvmRIGHw0APLbxfU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RqfsgtBKsSGpKVciE6yKl7Pjj4h6WZk8mWXa3QViwAhRs06sLdNLDBWLFO56j25En0bwIyGxCQLD6MYLGXDduJ9/t0c8LPRtmwBtJNbPlRVfaPsISSwddJU2oT7FmdNsYA9ryRAFkSDL0/NkSZ7Z6RdJytM4jGswOVopD1fp/+Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=mPHjtAxr; arc=none smtp.client-ip=209.85.214.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="mPHjtAxr" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-1ed0abbf706so30538905ad.2 for ; Mon, 20 May 2024 23:51:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1716274279; x=1716879079; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vOkWGMmTQVEt7UvShsfEX9Q7OP2nXlbFbaBQoutTKvo=; b=mPHjtAxrxDL2UF6NtlHhTc8chXwN6GdzHjoecsCaQg41uxN5ztOYmcZLbjzNRWuNIS DOQvYYjUa6mFMNcdklStrv0BYe9yg85cQ3+Nu9yCnvk7G2VJsvJ9QIa9T6UcuTYYClBA WumyskxqVLCSfWzfrbwvZdaBn/pngV+DBCwIw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716274279; x=1716879079; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vOkWGMmTQVEt7UvShsfEX9Q7OP2nXlbFbaBQoutTKvo=; b=L/rh9xJJM92X377RzGvr1qrRb3IhsSzygka3JOJbvWZ7VXuGRN0GNqntWQFZ1fpmz2 0o/p1z0a3Kg4s54q65q5hql7+kaPlImO4aZfC9kDKIsh60aKX7XHMAP1JQBOazR7T/ur IUwEtNh4syBjHN3BmFrtAqQVtGqkMvTIR06u7MdUmoIiMUfJgIyunQSysRi5TEAjhQlb Vb4MTj+jpwd8ThM5KQOkU0ZmMN95iKP0mZ7G57nWCrcEVxa4RljwA1UlF5v1Tl5A6PN6 fJVnBX+hWVdET9/CiI1RcwR7OWr0YC4qt5pL7rgX1+jix5HybiuMuUzxKdx5G1L2xCFr ViiA== X-Forwarded-Encrypted: i=1; AJvYcCVOyipmkD6fAXojE0MYehSp2r4slGcEwXPKXWDhCxqfpKSKja68v6qqXksQwX+Qm4UwJ1N00dg8W84+mTuGiKpmvNZxYn/2cT8JOr84 X-Gm-Message-State: AOJu0YzgK6XWicqyz6hYyxQpsseCAof7yXnGg8THDUENqupasTOu+fDz 90UDopZBPAc+KfNDWiBlOh/zx33HCBI7bo/9zr7nf9P1DpdNUkDgIDRVvZRuJ754hrIv1VUIcLc = X-Google-Smtp-Source: AGHT+IEe1eZFm8OQhme98CfuDT2vPG0NOgmo3lGuwwSKsHDgjQxj8mKdLiIdPioZKeAtoWh2bQX69g== X-Received: by 2002:a05:6a21:998d:b0:1b1:d823:3ea2 with SMTP id adf61e73a8af0-1b1d8233f35mr6544797637.12.1716274278853; Mon, 20 May 2024 23:51:18 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2401:fa00:1:10:f8a5:77aa:5a0d:e30c]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1f30644ad48sm23100985ad.169.2024.05.20.23.51.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 May 2024 23:51:18 -0700 (PDT) From: Chen-Yu Tsai To: Simon Glass , Masahiro Yamada , Nathan Chancellor , Nicolas Schier Cc: Chen-Yu Tsai , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org Subject: [PATCH 2/2] scripts/make_fit: Add option to disable compression for DTBs Date: Tue, 21 May 2024 14:51:05 +0800 Message-ID: <20240521065107.30371-3-wenst@chromium.org> X-Mailer: git-send-email 2.45.0.215.g3402c0e53f-goog In-Reply-To: <20240521065107.30371-1-wenst@chromium.org> References: <20240521065107.30371-1-wenst@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Old bootloaders found on RK3399 and MT8173 based Chromebooks only support compression for the kernel image in the FIT image, and not the DTBs. While compression could be disabled, aforementioned bootloaders also limit the kernel image size to 32 MiB, making compression necessary for any practical setup. Add an option to disable DTB compression to support this case. Signed-off-by: Chen-Yu Tsai --- scripts/Makefile.lib | 1 + scripts/make_fit.py | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 9f06f6aaf7fc..84d9b0166cc0 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -522,6 +522,7 @@ quiet_cmd_fit =3D FIT $@ cmd_fit =3D $(MAKE_FIT) -o $@ --arch $(UIMAGE_ARCH) --os linux \ --name '$(UIMAGE_NAME)' \ $(if $(findstring 1,$(KBUILD_VERBOSE)),-v) \ + $(if $(FIT_DISABLE_DTB_COMPRESSION),--no-dtb-compression) \ --compress $(FIT_COMPRESSION) -k $< @$(word 2,$^) =20 # XZ diff --git a/scripts/make_fit.py b/scripts/make_fit.py index 263147df80a4..626cf3422079 100755 --- a/scripts/make_fit.py +++ b/scripts/make_fit.py @@ -22,6 +22,10 @@ the entire FIT. Use -c to compress the data, using bzip2, gzip, lz4, lzma, lzo and zstd algorithms. =20 +Use -C to disable compression for DTBs regardless of the setting of '-c'. +This is intended for old bootloaders that support compression of the +kernel image but not the devicetree blobs. + The resulting FIT can be booted by bootloaders which support FIT, such as U-Boot, Linuxboot, Tianocore, etc. =20 @@ -64,6 +68,8 @@ def parse_args(): help=3D'Specifies the architecture') parser.add_argument('-c', '--compress', type=3Dstr, default=3D'none', help=3D'Specifies the compression') + parser.add_argument('-C', '--no-dtb-compression', action=3D'store_true= ', + help=3D'Disables compression for included DTBs') parser.add_argument('-E', '--external', action=3D'store_true', help=3D'Convert the FIT to use external data') parser.add_argument('-n', '--name', type=3Dstr, required=3DTrue, @@ -247,7 +253,10 @@ def build_fit(args): if os.path.splitext(fname)[1] =3D=3D '.dtb': seq +=3D 1 size +=3D os.path.getsize(fname) - model, compat =3D output_dtb(fsw, seq, fname, args.arch, args.= compress) + compress =3D args.compress + if args.no_dtb_compression: + compress =3D 'none' + model, compat =3D output_dtb(fsw, seq, fname, args.arch, compr= ess) entries.append([model, compat]) =20 finish_fit(fsw, entries) --=20 2.45.0.215.g3402c0e53f-goog