summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* blspec-entry: remove superfluous filenextRoland Hieber3 days1-73/+0
| | | | | | | | After upstreaming our changes, the file in PTXdist 2024.02.0 is now the same as ours, so we can remove it here. Suggested-by: Alexander Dahl <ada@thorsis.com> Signed-off-by: Roland Hieber <rhi@pengutronix.de>
* platform-v7a: kernel: enable ARM optimized SHA1 implementationRobert Schwebel11 days1-3/+3
| | | | | | | On v7a with NEON, we want to have the NEON optimized SHA1 implementation. Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v8a: barebox: compress with XZAhmad Fatoum11 days1-3/+10
| | | | | | | | | | | | | This saves us 124K, which we dearly need, because otherwise barebox would overlap the environment partition. The environment partition is reserved in the genimage config, but it's used due to the description in the barebox device tree. We may want to change both, but for now, buy us some time by switching from LZO to XZ. Reported-by: Michael Olbrich <mol@pengutronix.de> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20240318140633.1997386-1-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v7a: barebox: version bump v2024.01.0 → v2024.03.0Ahmad Fatoum11 days17-156/+139
| | | | | | | | | | | | The latest barebox release incorporates the single patch we had on top of v2024.01.0, so let's drop it by updating. Config changes are those of olddefconfig with the exception of CONFIG_CMD_PARTED. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20240315211240.3016716-8-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v7a: update kernel from v6.6 → v6.8Ahmad Fatoum11 days2-39/+84
| | | | | | | | Like done for v8a, also update the v7a kernel to the latest release. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20240315211240.3016716-7-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v8a: barebox: version bump v2023.12.0 → v2024.03.0Ahmad Fatoum11 days2-8/+32
| | | | | | | | | | | | | v2023.12.0 first broke i.MX8MQ support by mistake. This was fixed in v2024.03.0, so update to this version. The config changes are those of olddefconfig with the exception of CONFIG_CMD_PARTED: This command allows us to partition block devices from within the barebox shell. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20240315211240.3016716-6-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v8a: update kernel from v6.6 → v6.8Ahmad Fatoum11 days2-36/+89
| | | | | | | | | | | config changes are those of olddefconfig with the notable exception of CONFIG_BLK_DEV_WRITE_MOUNTED: This is enabled by default as not to break some existing userspace, but we shouldn't have any of that, so disable it. This will cause the kernel to refuse writes to mounted block devices. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20240315211240.3016716-5-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v8a: imx8mq-evk: disable PCI nodesAhmad Fatoum11 days1-0/+7
| | | | | | | | | | | | | | | | | When Linux probed the PCI on the i.MX8M-EVK, the system hangs completely. We've seen the same effect with other i.MX8M EVKs too, where between EVK revisions, NXP changed how the PCI PHY is clocked and because the DT only supported one variant, probing PCI on the other variant led to system hang while probing the PCI address space. If this turns out to be the issue on the i.MX8M-EVK as well, we should probably try to identify what variant we run on and then fix up the DT in the bootloader. For now though, just take the easy route and disable PCI, which we don't use anyway. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20240315211240.3016716-4-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* tf-a: update from v2.8 → v2.10Ahmad Fatoum11 days23-946/+659
| | | | | | | | | | | | | | | | | | | | | | | This lets us git rid of a fair number of patches we have, but in return requires us to import three patches: - Fix link error for imx8mq-evk: The image got too big with addition of DRAM retention support, so this is now disabled by default: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/27277 - Support for automatic console base detection on i.MX8MQ. This was already in our patch stack, but wasn't submitted upstream, unlike the support for i.MX8MM, i.MX8MN and i.MXP. This has been rectified: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/27278 - STM32MP1 support with SP_min as BL31 instead of OP-TEE is broken since v2.10 was first released. This is due to PMU changes that were apparently only tested on ARMv8. Fixed here: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/27162 Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20240315211240.3016716-3-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* ptxdist: migrate 2024.02.0 → 2024.03.0Ahmad Fatoum11 days8-16/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | This lets us make use of the updated OP-TEE packages for the incoming STM32MP13 support. Support in OP-TEE 3.20 is incomplete and will lead to a crash on boot up: I/TC: Platform stm32mp1: flavor 135F_DK - DT stm32mp135f-dk.dts I/TC: Non-secure SYSRAM [0xddfff000 0xddffffff] I/TC: DTB enables console (non-secure) I/TC: Primary CPU switching to normal world boot E/TC:0 tzc_it_handler:26 TZC permission failure E/TC:0 dump_fail_filter:420 Permission violation on filter 0 E/TC:0 dump_fail_filter:425 Violation @0xfcff7fe0, non-secure privileged write, AXI ID 420 E/TC:0 Panic at core/arch/arm/plat-stm32mp1/plat_tzc400.c:30 <tzc_it_handler> E/TC:0 TEE load address @ 0xde000000 E/TC:0 Call stack: E/TC:0 0xde00316d E/TC:0 0xde011b37 E/TC:0 0xde005245 E/TC:0 0xde011201 E/TC:0 0xde037155 E/TC:0 0xde000350 Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20240315211240.3016716-2-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v7a: barebox: imx6: don't enable fastboot net by defaultHEADmasterAhmad Fatoum2024-03-111-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | The idea behind enabling the USB gadget by default was to allow quick experimentation with only a USB connection by exposing both fastboot and a ACM serial gadget. However, Fastboot over UDP, isn't as useful: - the user first has to find out the IP address assigned to the board - getting a DHCP lease on every boot takes a bit of time - The shell is unusable until the DHCP request succeeds or times out. Ctrl+C can't be used as it's not called interactively Therefore, disable Fastboot over UDP and leave only USB enabled by default. User wishing to use Fastboot over UDP can just set nv.fastboot.net.autostart=1 manually to restore the old behavior. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20240306184640.628394-1-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* platform: v7a: barebox: Enable FIT image supportAlexander Dahl2024-03-1113-20/+48
| | | | | | | | | Already enabled for v8a. Tested on Beaglebone Black and RIoTboard. Signed-off-by: Alexander Dahl <ada@thorsis.com> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20240306092530.1448784-4-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* blspec-entry: Backport fix from ptxdist masterAlexander Dahl2024-03-111-1/+1
| | | | | | | | | | | | | | Backport PTXdist commit 0d360df876bc26f709cf (2024-02-02, Alexander Dahl: "blspec-entry: Fix kernel entry for FIT image"), otherwise barebox fails when trying to boot a FIT image like this: ERROR: could not open /mnt/mmc0.1//boot//boot/linux.fit: No such file or directory ERROR: blspec: Booting failed Signed-off-by: Alexander Dahl <ada@thorsis.com> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20240306092530.1448784-3-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* platform: v7a: barebox: Upgrade from 2023.12.0 to 2024.01.0Alexander Dahl2024-03-1117-23/+222
| | | | | | | | | | The latest and greatest. Has the nice support for 'noload' sub-images in FIT images conforming for spec. Signed-off-by: Alexander Dahl <ada@thorsis.com> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20240306092530.1448784-2-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* ptxdist: migrate 2023.12.0 -> 2024.02.0Roland Hieber2024-03-1110-223/+89
| | | | | | | | | | | | Update to the new PTXdist version with default options. Note that HOST_DTC, HOST_FLEX and HOST_M4 only vanish from the platformconfigs and are still enabled in ptxconfig. Remove our systemd patch, which is now included in systemd 255.2. Signed-off-by: Roland Hieber <rhi@pengutronix.de> Link: https://lore.pengutronix.de/20240219121717.3507053-1-rhi@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* rauc-udev: add entry for TQ MBa8MPxL boardLeonard Göhrs2024-01-291-0/+1
| | | | | | | | | | With this entry the /dev/disk/by-usage/rootfs0 and /dev/disk/by-usage/rootfs1 device links are created, that are required to install RAUC updates on this board. Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de> Link: https://lore.pengutronix.de/20240129093259.172908-2-l.goehrs@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* platform-v8a: kernelconfig: disable CONFIG_CRYPTO_AES_ARM64_CE_CCMRobert Schwebel2024-01-291-1/+1
| | | | | | | | CONFIG_CRYPTO_CCM is no longer needed by any driver, so we can disable CONFIG_CRYPTO_AES_ARM64_CE_CCM. Inspired-by: Michael Olbrich <m.olbrich@pengutronix.de> Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* platform-v8a: kernelconfig: switch COMPACTION back onRobert Schwebel2024-01-271-1/+2
| | | | | | | | | | In eb939a84ef844769bc26eb0eed95245d1f7160f2, memory compaction was switched off. However, the help text claims it should be on, and the Pengutronix internal 'reason' checker does also want to have it on. Re-enable it. Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* platform-v8a: kernelconfig: cleanupMichael Olbrich2024-01-261-1896/+361
| | | | | | | | | | | | | | | | | | | | | | This is the result of a review of the whole kernel config. The options have been selected by the following rules: In general, the kernel config is optimized to keep the kernel small. So any features that are not used at all are disabled. This includes things like extra scheduling governors that require explicit configuration to be used. All drivers that are not used by the boards configured in DistroKit are now disabled. If there was no other strong preference then the value from the defconfig was used. Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Marc Kleine-Budde <mkl@pengutronix.de> Link: https://lore.pengutronix.de/20240126170432.740899-1-m.olbrich@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v8a: imx8m: enable barebox state for TQ MBa8MPxLLeonard Göhrs2024-01-262-1/+22
| | | | | | | | | | This allows updating the root filesystem via RAUC. The magic value was selected by fair dice roll. Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de> Link: https://lore.pengutronix.de/20240117133440.944800-8-l.goehrs@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v8a: imx8m: enable image generation for TQ MBa8MPxLLeonard Göhrs2024-01-261-1/+2
| | | | | | Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de> Link: https://lore.pengutronix.de/20240117133440.944800-7-l.goehrs@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v8a: imx8m: add i.MX8MP based TQ MBa8MPxL boardLeonard Göhrs2024-01-265-3/+50
| | | | | | | | | | | | | The generated image can be used to boot the board via SD card. The dev.mmc1.broken_cd barebox environment entry is required because the board's card detect does not reliably detect an inserted USB-SD-Mux, resulting in the board failing to boot. This should not (negatively) affect the other v8a machines. Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de> Link: https://lore.pengutronix.de/20240117133440.944800-6-l.goehrs@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v8a: images: imx8m: add barebox state partitionLeonard Göhrs2024-01-261-0/+6
| | | | | | | | | | | Having a place to store state allows us to use RAUC on i.MX8M based boards. The 1Mb size is quite large for a state partition, which uses a compact representation, but using this size means we do not have to change the partition alignment. Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de> Link: https://lore.pengutronix.de/20240117133440.944800-5-l.goehrs@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* images: imx8m: add a barebox environment partitionLeonard Göhrs2024-01-261-0/+8
| | | | | | | | | | | | | | | | | | The barebox environment is configured in the board devicetrees to be at 896k and 128k in size (e.g. the last 128k before the 1M mark). This is for compatibility with the fdisk behaviour of placing the start of the first partition at the 1M mark. Not everyone knows this though, so it can easily happen that someone increases the size of the barebox partition, making it overlap with the environment "partition". Make this less likely to happen by listing the barebox state in the genimage config. Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de> Link: https://lore.pengutronix.de/20240117133440.944800-4-l.goehrs@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* images: imx8m: move the root-a partition further backLeonard Göhrs2024-01-261-1/+1
| | | | | | | | | | | | | | | | The 896K assigned to the barebox partition are getting ever closer to overflowing (barebox-nxp-imx8mn-evk.img is as of now 883K). Increasing the barebox partition also requires changes to the respective devicetrees because the location of the environment is hardcoded to be at 896K there. Move the root-a partition further back to free up some space so we can add a state partition now and eventually move the environment partition as well and then increase the barebox partition size. Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de> Link: https://lore.pengutronix.de/20240117133440.944800-3-l.goehrs@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* tf-a: add patch to auto-detect the correct UART on i.MX8MLeonard Göhrs2024-01-265-10/+491
| | | | | | | | | | | | | | This helps us on the TQ MBa8MPxL i.MX8MP development board, that uses a different UART for debug output than the EVKs we currently support. Other i.MX8M boards should not be affected by the IMX_BOOT_UART_BASE=auto configuration option because the automatic selection will choose the correct UART. Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de> Link: https://lore.pengutronix.de/20240117133440.944800-2-l.goehrs@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v8a: barebox: enable support for booting FIT imagesAhmad Fatoum2024-01-261-2/+6
| | | | | | | | | | | | | There's ongoing work to have Linux generate a FIT image with all enabled DTs[1]. Let's prepare for that by enabling FIT image support for the ARMv8 boards. [1]: https://lore.kernel.org/all/20231202035511.487946-1-sjg@chromium.org/ Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> LGTMed-by: Roland Hieber <rhi@pengutronix.de> Link: https://lore.pengutronix.de/20240112170529.1970537-6-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v7a: update barebox to v2023.09.0 -> v2023.12.0Ahmad Fatoum2024-01-2618-191/+172
| | | | | | | | | | | | | | | | | | | This lets us drop two patches that fixed issues with v2023.09.0. This update also enables some options that are useful for the hardware we support: - on STM32MP1, support for the NAND controller is enabled - on STM32MP1, we enable HWRNG and stack protector support The latter could be enabled universally for all platforms that are no size constrained, but it prints an ugly error message if there's no HWRNG as using the fixed fallback canary is insecure. We'll just postpone enabling stack protector on other platforms until we enable HWRNG support there. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20240112170529.1970537-5-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v8a: barebox: version bump v2023.09.0 -> v2023.12.0Ahmad Fatoum2024-01-262-7/+37
| | | | | | | | | | | There's not much new features relevant to our v8a platform in this version bump, but there are a number of bug fixes, that may be relevant, like improved support for HAB on i.MX8M and reworked regulator initialization. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20240112170529.1970537-4-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v8a: barebox: disable RAVE SP coprocessor supportAhmad Fatoum2024-01-261-3/+1
| | | | | | | | | | The RAVE SP is a board management controller connected over serial link. We have no boards that have this controller built-in, so there's no need to include its driver. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20240112170529.1970537-3-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v8a: barebox: disable unnecessary commandsAhmad Fatoum2024-01-261-4/+4
| | | | | | | | | | | | | | | - We don't boot uImages anymore - We can reinstate the default environment using saveenv -z - We have a TFTP file system and don't need an extra tftp command - PSCI communication can be tested with reset -r psci and doesn't need a dedicated command Therefore disable all this commands, as replacements for their functionality are already enabled. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20240112170529.1970537-2-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v8a: barebox: disable RATP supportAhmad Fatoum2024-01-261-6/+2
| | | | | | | | | | | barebox supports Ethernet and USB OTG in host and device mode on the Rockchip and i.MX boards, so there's little use if any for RATP. Disable it and reclaim the space. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20240112170529.1970537-1-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* ptxdist: version bump 2023.10.0 -> 2023.12.0DistroKit-2023.12.0Robert Schwebel2023-12-138-17/+39
| | | | | | Let's update to the latest and greatest. Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v7a: images: stm32mp: generate eMMC boot partition image as wellAhmad Fatoum2023-12-131-0/+19
| | | | | | | | | | | The DistroKit image is capable of booting both from SD-Card and eMMC user area. For boot from eMMC boot partition, we can keep reusing the same image for the user area, but need to place the boot firmware into the boot partition as well. Add an extra image that does just that. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20231213165014.1279779-2-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v7a: stm32mp: tf-a: enable boot from eMMC boot partitionAhmad Fatoum2023-12-131-1/+1
| | | | | | | | | | | By default, TF-A located on eMMC boot partition will only boot FIP from eMMC user area. Toggle STM32MP_EMMC_BOOT, so FIP image is first looked for at offset 256K on the eMMC boot partition, before booting from GPT partition in user area. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20231213165014.1279779-1-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* busybox: enable rdev to find out the root deviceRoland Hieber2023-12-131-1/+1
| | | | | | | | We will use this to find out whether we can run systemd-repart. Signed-off-by: Roland Hieber <rhi@pengutronix.de> Link: https://lore.pengutronix.de/20231213144750.1899431-3-rhi@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* systemd: make systemd-repart work for mipsRoland Hieber2023-12-132-0/+123
| | | | | | | | | | | systemd v254 doesn't know about the partition type GUID for big-endian MIPS root partitions yet, so systemd-repart fails to parse the "Type=root" setting in its config, and fails to start. Backport a patch from systemd 255-rc1, which will wire up the respective GUID. Signed-off-by: Roland Hieber <rhi@pengutronix.de> Link: https://lore.pengutronix.de/20231213144750.1899431-2-rhi@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* platform-v8a: barebox: enable CONFIG_DIGEST_SHA1_ARM64_CERobert Schwebel2023-12-131-1/+1
| | | | | | 'reason' suggests to enable an optimized SHA1 implementation on ARM. Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v8a: barebox: env: fix boot for i.MX8M EVKsAhmad Fatoum2023-12-131-2/+3
| | | | | | | | | | | | | | | | Rockchip RK35* and i.MX8M* share the same barebox environment, but RAUC and bootchooser were only configured for the Rockchip boards, rendering the i.MX boards unbootable. Fix this by adding bootchooser as boot target only for the radxa,rock3a. While at it, we switch to using the new of_compatible command. This is likey more stable than the Model string and allows easy extension in future by additional compatibles. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Reviewed-by: Roland Hieber <rhi@pengutronix.de> Link: https://lore.pengutronix.de/20231205095929.3469672-3-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v7a: barebox: define state for all supported board variantsAhmad Fatoum2023-12-131-4/+9
| | | | | | | | | | | Boot up is broken on some of the Raspberry Pi and STM32MP1 board we support, because boot method is changed to bootchooser, but state isn't defined. Fix this by extending state definition to the missed boards. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Reviewed-by: Roland Hieber <rhi@pengutronix.de> Link: https://lore.pengutronix.de/20231205095929.3469672-2-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v7a: barebox-stm32mp1: pass root=PARTUUID=… to kernelRoland Hieber2023-12-132-1/+2
| | | | | | | | | | | | | | This partly reverts commit e0ca556db7983a99acc3330dc32cdae395e84003. As Ahmad reports, the kernel device tree of STM32MP157C-EV1 has no aliases at all, which is a precondition for enabling MMCBLKDEV_ROOTARG in barebox. Restore the old state which detects the PARTUUID of the root partition and passes it to the kernel. Link: https://lore.distrokit.org/distrokit/9afb1d8a-f90d-7d74-781d-c33f6b7a2efb@pengutronix.de Fixes: e0ca556db7983a99acc3 (2023-10-20, "v7a: barebox: pass root=mmcblkXpN instead of root=PARTUUID=… to kernel") Reported-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Roland Hieber <rhi@pengutronix.de>
* v8a: build RAUC update bundleRoland Hieber2023-12-131-1/+11
| | | | | | | | | Enable the update bundle so v8a platforms can be updated via RAUC, and put something useful in the bundle description. Signed-off-by: Roland Hieber <rhi@pengutronix.de> Link: https://lore.pengutronix.de/20231104003525.1673736-5-rhi@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v8a: add RAUC support for rock3aRoland Hieber2023-12-135-3/+84
| | | | | | | | | | | | | | | * Add a state partition to the genimage configuration (offset is not needed for the root partition since genimage can calculate that based on the size of the previous partition and the alignment; and the barebox-state partition is autodetected based on the partition GUID) * Add a device tree fragment to barebox containing the state backend * Add appropriate variables to the barebox defaultenv so the bootchooser can decide into which partition to boot * Map boot device (SD card) in rauc-udev compatibility layer Signed-off-by: Roland Hieber <rhi@pengutronix.de> Link: https://lore.pengutronix.de/20231104003525.1673736-4-rhi@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v8a: barebox: enable of_compatible and of_fixup commandsRoland Hieber2023-12-131-2/+2
| | | | | | | | Enable two useful commands for debugging. Signed-off-by: Roland Hieber <rhi@pengutronix.de> Link: https://lore.pengutronix.de/20231104003525.1673736-3-rhi@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v8a: barebox: version bump 2023.05 -> 2023.09.0Roland Hieber2023-12-132-4/+19
| | | | | | | | | | Update to the new version with default options. This also includes detection of GPT partitions with the barebox-state GUID for state backends, which we'll make use of in the next commits. Signed-off-by: Roland Hieber <rhi@pengutronix.de> Link: https://lore.pengutronix.de/20231104003525.1673736-2-rhi@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* v7a: barebox: bootchooser: use GPT partition labelsRoland Hieber2023-12-138-8/+8
| | | | | | | | | | | | Now that every image is in GPT format, we can use the devnodes that include the partition label instead of the partition number to boot our rootfs. These names are more readable and also more robust against changing the order of the partitions. Make the change on all bareboxes that didn't have that yet. Signed-off-by: Roland Hieber <rhi@pengutronix.de> Link: https://lore.pengutronix.de/20231103225253.1349209-11-rhi@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* rauc-udev: generate symlinks based on GPT partition labelsRoland Hieber2023-12-131-34/+12
| | | | | | | | | | | | | | | | | | | | | Now that all our images have a GPT header which contains partitions with the labels "root-A", "root-B", and "data", we can use those to generate the symlinks in /dev/disk/by-usage/ instead of using the hardcoded, number-based kernel device names. This gives us the flexibility to change the order of the partitions on disk as long as their GPT partition labels stay the same. Since the symlinks in /dev/disk/by-partlabel/ are not necessarily unique (see [1]), we cannot use these here. Instead, rework the current match clauses to determine the devpath of the boot device based on the board compatible, and only create by-usage symlinks for partitions on the boot device. [1]: https://github.com/systemd/systemd/pull/29219 Signed-off-by: Roland Hieber <rhi@pengutronix.de> Link: https://lore.pengutronix.de/20231103225253.1349209-10-rhi@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* treewide: images: remove root-B and data partitionsRoland Hieber2023-12-1316-70/+0
| | | | | | | | | | | These partitions are now generated on the first boot by systemd-repart. The second rootfs is not needed for booting, and overwritten by RAUC when a bundle is installed, so it can as well be empty. Remove the two partitions to save space in the generated images. Signed-off-by: Roland Hieber <rhi@pengutronix.de> Link: https://lore.pengutronix.de/20231103225253.1349209-9-rhi@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* datapartition: set licenseRoland Hieber2023-12-131-0/+1
| | | | | | | | | | | The license is for the source of the package and this package has none. Use 'ignore' here. Signed-off-by: Roland Hieber <rhi@pengutronix.de> Link: https://lore.pengutronix.de/20231103225253.1349209-8-rhi@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de> [rsc: mol asked for 'ignore', as the license is not for the recipe. Fixed up.] Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
* datapartition: add missing mount unitRoland Hieber2023-12-132-0/+10
| | | | | | | | | | | | The data partition has not been mounted since /etc/fstab was removed in commit 5eb165a3722013d2c80d (2016-08-18, "ptxdist: version bump 2016.07.0 -> 2016.08.0"). Create the mount point, and add a systemd mount unit based on the /dev/disk/by-usage/data symlink set up by our custom rauc-udev rule. Signed-off-by: Roland Hieber <rhi@pengutronix.de> Link: https://lore.pengutronix.de/20231103225253.1349209-7-rhi@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>