From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-il1-f178.google.com (mail-il1-f178.google.com [209.85.166.178]) (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 D0E1435F8CE for ; Wed, 19 Nov 2025 18:13:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.178 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763576059; cv=none; b=hPODK6WM0aTrtkvHpcXcCQ3A0ikWWSaCJw05Mb1ehpFzydTjsfvfZYWubaZdEmnv6CxhtTYfHAtx8fnt8onqZXupxMIDQj8KsHh3aR0xQwG56UkOnNfwsnU7iguHPXEfe4DdPgq4HwnbUArf/OZgjtD2A7oOct3GMrUXtnbzFts= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763576059; c=relaxed/simple; bh=fq7yGHxuW0cDFvgb+sXTHDvNA06ZmRk29X+WraNFCws=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=sLUV4VShCrPVyFtJzbADItumBQ5LHIahnTlTLx/zd8lXUY0fFhz5nG1UOYapaywF1aMwkP1LnHNm5qoUHJEoCKzpI83VlmjVWDLv6D+HaPIRxu6TyqZ6g496a4hY98vrZ81iLIHnB2gsSUuEuXEJNayhD1/VOc6iqXwaH1doUmU= 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=gbRIxQut; arc=none smtp.client-ip=209.85.166.178 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="gbRIxQut" Received: by mail-il1-f178.google.com with SMTP id e9e14a558f8ab-4330d2ea04eso222805ab.3 for ; Wed, 19 Nov 2025 10:13:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1763576037; x=1764180837; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Q0H4D6A5/Fz6+ZVWISfjUYImiLMbW+d5U+Obqut6PQU=; b=gbRIxQutb+xPwnXKdAZIaE8HQcq9Ke++tLTZhGeffX2YEgUO3sTomk3Ayyo7wgblVq b7qkOXI7bY5yu7WrYnr+e55CutRWZvSPvseA5KP8mSaF+vxkjZYUXPVkeW0b9t2Yoru7 12bixsqEeNPNHbEq9aNJt14fYjZMY0yH4k43o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763576037; x=1764180837; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Q0H4D6A5/Fz6+ZVWISfjUYImiLMbW+d5U+Obqut6PQU=; b=MGBIFYaBQWJl0cCEc3WB8gV8uMUQE2W5sPyEKk9eojNMdbNMMNDMo0saYJmfMCqbSn ryHUqgHC5H1blW92yo+Lw4vFuYEkIBPP2KZIiHt3WiWWBMpoWwsFGuv4WU1oxK8lM77F BdxF8tphpNEIwzlGmmbhIaMi1yJSWPDunys0E5c1MV4fAaCs3uSGlIyURnNzGQl0dRc/ Yv81Gn61hXQlHzntxMKweELQDHSmSkr/J2Lk1W548nvO5ymP7RmZidEVwDk72M+KOpx/ +Hlj+lwycy9XgeNYi5kyyeUYMW7v3atYF9Xq0vHXIbRWHerYf8rj1Lqt2GJIo4JzIivo RvpA== X-Forwarded-Encrypted: i=1; AJvYcCWDQfmoi/Zm6dfHzvQRo8F2tbQWxq86xUl+9s6Rfki1jd7gutlPrx0LOH7aec/6/Y6vhPmNgqfvG7apqMc=@vger.kernel.org X-Gm-Message-State: AOJu0Yxb91NPBnAiDn965qIZ8/DpEPATyeXPvYXLy/ZGxfBp29LP0dGb lm22/TgbBH85CNqka1Z5y3hLQQ7X5cjlPNvc4kYjbK33T9/h0Bw4zK8BWGYwIWIA0g== X-Gm-Gg: ASbGncsovnSOfZ24BD6X58pfIXWHEMWkqbIx7pXRXsWoBy+4vIJumtkZDpHtxRbZKUj HPO4yHRyyC/gtjsQQD9J6vb40WEKVZ1/me++p52BuaXBBC7jZYoMRXIldFwZAtnsr/41lfTsO4R bDNdSEeYcV0gPJ0syRIes7B7RSYepMMlL3AY58266QLylhmnrd2emz8L93t+RXWV2FUiYPLnJj6 rCwSPscypuuJT7JrVhaRdH6gCL8xVB/GS7S2K1G2M0HTPLCrNGgZgFKxywPAbT5/i8MaCPKn7m1 vPSAFKZHimQIZq73W4YYeka5jtMKeJch290cU4wgSAzerzQdiGCYtwWOA1xcfy/LjOySpJ8uxPp 4mNUbD4kvhLlt77E4HGtmnE1//urykxri6CtX+qhNc0god8u6IZZVTyZi788KKANqqEDMklYUaL K+bs2f X-Google-Smtp-Source: AGHT+IE/2JEiabneT+vq3UyMtVUuWtIZXvc2b4MEv6Jrjx/DrjNxhr8iITGjEUqkm6x1qj9D1rKrZQ== X-Received: by 2002:a05:6e02:3789:b0:433:29a9:32db with SMTP id e9e14a558f8ab-435a9073140mr4249655ab.24.1763576036980; Wed, 19 Nov 2025 10:13:56 -0800 (PST) Received: from chromium.org ([73.34.74.121]) by smtp.gmail.com with ESMTPSA id ca18e2360f4ac-949385ae254sm4838639f.1.2025.11.19.10.13.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Nov 2025 10:13:56 -0800 (PST) From: Simon Glass To: linux-arm-kernel@lists.infradead.org Cc: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= , Masahiro Yamada , Tom Rini , Ahmad Fatoum , =?UTF-8?q?J=20=2E=20Neusch=C3=A4fer?= , Nicolas Schier , Chen-Yu Tsai , Simon Glass , Ard Biesheuvel , Bill Wendling , Catalin Marinas , David Sterba , Josh Poimboeuf , Justin Stitt , Kees Cook , Miguel Ojeda , Nathan Chancellor , Nick Desaulniers , Nick Terrell , Nicolas Schier , Rong Xu , Tamir Duberstein , Will Deacon , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, llvm@lists.linux.dev Subject: [PATCH v6 0/8] scripts/make_fit: Support ramdisks and faster operations Date: Wed, 19 Nov 2025 11:13:21 -0700 Message-ID: <20251119181333.991099-1-sjg@chromium.org> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This series updates 'make image.fit' to support adding a ramdisk to the FIT, either one provided as a parameter or one created from all the kernel modules. It also includes a few performance improvement, so that building a FIT from ~450MB of kernel/module/devicetree files only takes a few seconds on a modern machine. Note: I included support for using the existing cpio script as suggested by Ahmad, but a fallback remains in case that is not available. https://lore.kernel.org/lkml/CAFLszThpTg-FBoNG_tQ0xve0LkYWER85EJeHuem-_JUD8J1Ocw@mail.gmail.com/ Changes in v6: - Using the modules.order file instead of 'find' - Use gen_initramfs.sh where available - Mention that FIT_MODULES just needs to be non-empty - Make use of modules.order instead of using 'find' Changes in v5: - Fix 'use' typo - Add a new patch to split out module targets into a variable - Build modules automatically if needed (fix from Nicolas Schier) Changes in v4: - Update the commit message - Provide the list of modules from the Makefile - Reduce verbosity (don't print every module filename) - Rename the Makefile variable from 'EXTRA' to 'MAKE_FIT_FLAGS' - Use an empty FIT_MODULES to disable the feature, instead of '0' - Make use of the 'modules' dependency to ensure modules are built - Pass the list of modules to the script Changes in v3: - Move the ramdisk chunk into the correct patch - Add a comment at the top of the file about the -r option - Count the ramdisk in the total files - Update the commit message - Add a way to add built modules into the FIT Changes in v2: - Don't compress the ramdisk as it is already compressed Simon Glass (8): scripts/make_fit: Speed up operation scripts/make_fit: Support an initial ramdisk scripts/make_fit: Move dtb processing into a function scripts/make_fit: Provide a way to add built modules kbuild: Split out module targets into a variable kbuild: Allow adding modules into the FIT ramdisk scripts/make_fit: Support a few more parallel compressors scripts/make_fit: Compress dtbs in parallel Makefile | 8 +- arch/arm64/Makefile | 1 + scripts/Makefile.lib | 6 +- scripts/make_fit.py | 293 +++++++++++++++++++++++++++++++++++++------ 4 files changed, 269 insertions(+), 39 deletions(-) -- 2.43.0 base-commit: 4a71531471926e3c391665ee9c42f4e0295a4585 branch: fita6