| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
| |
Linux 6.5 has support for the RK809 PMIC. Enable it.
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
| |
Currently we get this new error:
ERROR: stm32-rproc 10000000.m4@10000000.of: failed to get tz syscfg
Apply upstream patches from the mailing list.
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
| |
Enable the hard lockup detector and panic on trigger. An embedded system
has probably nothing better to do than to reboot if the kernel locks up.
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
| |
The devicetrees in mainline have changed their location, adapt our
devicetree paths and the includes accordingly.
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
| |
The 9p patches are already part of 6.5, so they don't have to be ported
to the new kernel.
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The GUID Partition Table format has several advantages over the legacy
MBR format. Especially when we want to make use of systemd-repart
functionality later, the GPT format is a necessity. Therefore, migrate
all images to the GPT format.
For some platforms (Raspberry Pi, AM355x, AT91), we still need a legacy
MBR partition table so that the ROM code can find a bootable partition
(which contains our barebox image). For those cases, transform the image
into a hybrid format containing an MBR at offset 0, which contains the
VFAT boot partition for the ROM loader, and a protective GPT partition
of partition type 0xEE after it to claim the remaining space on the
storage medium for GPT purposes. Then a GPT header is added at the
default GPT offset of 0x200, which defines the boot partition as well as
the root partition, and which is read by Barebox and Linux to boot the
system.
For images that contain a raw barebox image at a fixed offset outside of
a GPT partition, make sure that the GPT does not conflict with the
barebox image, and write only the primary GPT header into the hole
specified by the barebox image (offset 440 to 1K), but move the GPT
partition array to an offset behind the barebox image. (genimage will
then also offset the following partitions accordingly.)
Remove any 'disk-signature' options, which are not compatible with GPT;
genimage will generate a random Disk UUID instead. Also remove any
'partition-type' options, and set the respective partition type GUIDs
specified by the Discoverable Partitions Specification [1], or let
genimage default to the 'linux-generic' partition type.
For the rpi1 image-hdimg, overwrite the upstream hd.config with a
hardcoded genimage config file since it is not possible to build a
hybrid MBR/GPT image with the image recipe from upstream PTXdist.
For the v7a image-hdimg, enable GPT support in the platformconfig menu,
and re-add the respective config lines from the upstream version of the
config file in order to make GPT work.
The images with fixed partition sizes for qemu need to stay below the
size specified in the 'size' option, so decrease the size of the last
partition further to make space for the secondary GPT header, which will
reside in the last block of the image.
Link: [1] https://uapi-group.org/specifications/specs/discoverable_partitions_specification/
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.pengutronix.de/20231020090519.3320460-6-rhi@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
genimage knows about the 'size' option for images to fill the image to a
certain size, and since genimage v14 it supports the 'fill' option to
write all zeroes at the end of the image and not cut them off to
optimise the image size. Use this to blow up the images that are used
with qemu to the next power of two so qemu can work with them, and
remove our invisible-partition-at-the-end hack.
Since the first MiB (when using 1 MiB alignment) is occupied by the
partition table, and the first partition only starts at offset 1 MiB,
the data partition now no longer fits into the available space. Set it
to 'autoresize' so that genimage computes the size to fill the remaining
space in the image.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.pengutronix.de/20231020090519.3320460-5-rhi@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
We want to be able to boot from devices formatted with GPT, enable this
on the platforms that don't have it yet.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.pengutronix.de/20231020090519.3320460-4-rhi@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Kernels prior to v5.10-rc1 could not ensure deterministic ordering for
MMC devices. For this reason, the default 'append-root' behaviour of
barebox for MMC block devices is to append a 'root=PARTUUID=XYZ' option
to the kernel command line. The PARTUUID is derived from the partition
table and is expected to be unique system-wide. This is however
susceptible to breakage if the exact same image is written to different
boot media in the system, e.g. SD and eMMC, so the PARTUUID will no
longer uniquely refer to a single partition.
Newer kernel versions honor the numbering used for 'mmc' aliases,
which makes 'root=mmcblkXpN' deterministic as long as barebox and
kernel aliases are identical. Since we're using kernel 6.4, enable this
option in barebox.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.pengutronix.de/20231020090519.3320460-3-rhi@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
genimage v16 complains that 'partition-table = false' is deprecated in
favour of 'partition-table-type = none'.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.pengutronix.de/20231020090519.3320460-2-rhi@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
The 'gpt' option in genimage has been deprecated in favour of
'partition-table-type = gpt'.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.pengutronix.de/20231020090519.3320460-1-rhi@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since there is no diod server ptxdist host tool available yet, this
script starts the version from debian.
It is also to be found how to best start the server.
For now this simple script works as proof of concept including
ugly hacks to run and stop diod around the qemu exec.
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Link: https://lore.pengutronix.de/distrokit/20230621224609.932551-1-m.grzeschik@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
| |
A new ptxdist version is out, update.
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Even when a selected_platformconfig symlink exists, ptxdist can still be
used with the --platformconfig=... option to override the platformconfig
during the build. In this case, running the qemu script will search in
the wrong build folder for the images.
Don't use the selected_platformconfig link to find out the platform,
instead determine it from the path of the qemu script itself.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.pengutronix.de/distrokit/20231010091028.3444582-1-rhi@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
| |
The recipe was forked to DistroKit because of missing support for the
mipsel target (which I just sent upstream). Just update the recipe to
the current version from PTXdist because the version of the recipe
currently in platform-mips complains about the '--meson' option.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.pengutronix.de/distrokit/20231009181251.2327015-1-rhi@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add a redundant root partition to the genimage config
* Add appropriate variables to the barebox defaultenv so the bootchooser
can decide into which partition to boot
* Add a state backend to the device tree fragment
* Map partitions in rauc-udev compatibility layer
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.pengutronix.de/distrokit/20230926092713.3680509-5-rhi@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
Bootchooser will choose the correct redundant A/B partition for booting.
Enable it in the common barebox so it is available on all v7a boards.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.pengutronix.de/distrokit/20230926092713.3680509-4-rhi@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
| |
Enable two useful commands for debugging.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.pengutronix.de/distrokit/20230926092713.3680509-3-rhi@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update to v2023.09.0, which includes auto-detection for barebox-state
partitions in GPT, which will come in handy for the LXA MC-1 board.
For AM335X, selecting OMAP_MULTI is now necessary, otherwise do an
oldconfig with default options.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.pengutronix.de/distrokit/20230926092713.3680509-2-rhi@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
| |
The version from busybox has no support for GPT partitions.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.pengutronix.de/distrokit/20230926092713.3680509-1-rhi@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Newer kernel versions introduced a number of i.MX8M-specific drivers,
so let's enable them:
CONFIG_REGULATOR_PCA9450
Regulator used on newer i.MX8M EVKs
CONFIG_ARM_IMX8M_DDRC_DEVFREQ
CONFIG_DEVFREQ_GOV_USERSPACE
DDR frequency scaling driver + sysfs interface for control
CONFIG_ARM_IMX_BUS_DEVFREQ
CONFIG_INTERCONNECT
CONFIG_INTERCONNECT_IMX
CONFIG_INTERCONNECT_IMX8MM
CONFIG_INTERCONNECT_IMX8MN
CONFIG_INTERCONNECT_IMX8MQ
CONFIG_INTERCONNECT_IMX8MP
Interconnect drivers for i.MX8M SoCs
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Link: https://lore.pengutronix.de/distrokit/20230906083625.573411-1-a.fatoum@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
| |
The usual version bump with default settings.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.pengutronix.de/distrokit/20230915150707.3977805-1-rhi@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Booting via 9p results in a machine that feeld very differently than any
other boards in platform-v7a, mainly because there is no data partition,
no barebox-state, and therefore no RAUC support. All of this is possible
by booting from the emulated SD card image through barebox.
Default to barebox so that qemu-vexpress feels as much as possible like
booting from other boards.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.barebox.org/20230825110310.2948272-8-rhi@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since we can only select RAUC in the ptxconfig for all platforms, PTX
internal QA tooling warns that necessary features for RAUC are missing
in the kernelconfigs on non-v7a platforms.
The issue of overriding the tests on the platform level seems a bit
harder to fix in the QA tool, so until that can be done, please the QA
checker by enabling the necessary features in all remaining kernels to
make the PTX Jenkins tests green again.
If the QA tool is fixed, this commit can be reverted.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.barebox.org/20230825110310.2948272-4-rhi@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Set up RAUC with a shared system.conf that uses the /dev symlinks which
the rauc-udev package creates based on the Device Tree compatible. Also
add a unit file that marks the booted partition as good after systemd
startup has finished successfully.
The key material for signing the RAUC bundles is provided by the
ptx-code-signing provider used for development, which is a build
dependency of RAUC. Since we can enable RAUC in the ptxconfig for all
platforms, all platforms also need a code signing provider.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.barebox.org/20230825110310.2948272-3-rhi@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
| |
The v7a kernel has been configured with MTD and UBI/UBIFS support at
least since commit b04ad84da416e79906e5 (2023-04-17, Ahmad Fatoum: "v7a:
kernel: extend support to SAMA5D4-based Wifx L1"), so it should also
have the necessary tools to work with those kinds of devices.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.barebox.org/20230825110310.2948272-2-rhi@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change is similar to:
2732f93bcf4ee011cecca3518aec7e523c311d7a
"v8a: barebox: enable loading kernel, dtb and initrd via fastboot"
but for some of the v7a platforms. Due to the absence of a common environment
it only can be added for the i.MX6 based systems for now.
This change prepares all v7a platforms to load kernel, dtb and initrd as
sparse images to RAM-files for rapid development.
It exposes mmc{1,2,3} as 'fastboot' partitions and add init script to
force barebox to detect these devices and have them available for
'fastboot'.
It autostarts the USB gadget and network capability to use 'fastboot' out of
the box.
Signed-off-by: Juergen Borleis <jbe@pengutronix.de>
Link: https://lore.barebox.org/20230825111056.32801-1-jbe@pengutronix.de
Adapted bsp.ref for v7a, similar to v8a.
Inspired-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
| |
This reverts commit 6318dbc93a660f6c8620987f9111abd517f8d3ad.
With mips and mipsel having switched to 6.4.10 recently, the issue
should be resolved.
|
|
|
|
|
|
|
|
| |
As the BSP is 32 bit, CONFIG_64BIT=y was changed to CONFIG_32BIT=y.
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://lore.barebox.org/20230816114310.2637671-5-o.rempel@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
Other platforms use already PPID based ssh forwarding configuration. So,
make it for MIPSEL too.
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://lore.barebox.org/20230816114310.2637671-4-o.rempel@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
| |
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://lore.barebox.org/20230816114310.2637671-3-o.rempel@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
Other platforms use already PPID based ssh forwarding configuration. So,
make it for MIPS too.
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://lore.barebox.org/20230816114310.2637671-2-o.rempel@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As the 'reason' checker analyzes all <*>.dtb files in the imagedir and
assumes they are all kernel dtbs, rename the barebox dtb from
barebox-*.dtb to *.dtb-bb.
This silences a warning that kernel devicetrees should not contain
barebox,state nodes.
For a similar fix, see commit d16f98c910e20ee5a29da6ca0636b0fbad14f1b2.
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
| |
Our internal tooling found that MBR is obsolete. Partitionable
block devices should use GPT and barebox should support both MBR
and GPT to allow migration.
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
| |
With CONFIG_CONSOLE_ACTIVATE_FIRST, the active console might be chosen
at random if there is more than one console. The best strategy these
days is to use CONFIG_CONSOLE_ACTIVATE_NONE and set the console in
/chosen/stdout-path.
As I currently have no rpi1 in the Pengutronix testlab, let's switch the
strategy and hope that /chosen/stdout-path is set correctly :-)
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
| |
Our internal QM tooling suggests to enable of_diff for rpi1.
Switch it on.
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
| |
Everything is in place now to actually generate an image capable of
booting the i.MX8MN, so let's do it.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Reviewed-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.barebox.org/20230728164933.342061-8-a.fatoum@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that we are building barebox for the board, enable installation of
the kernel device trees, so we can boot a kernel with it. The necessary
kernel options are already enabled. As DDR4 and LPDDR4 differ in the
PMIC used, we enable two different device trees. barebox will choose the
correct one by comparing their DT compatible against its own.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Reviewed-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.barebox.org/20230728164933.342061-7-a.fatoum@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MBR is stuff of the past. Switch over to GPT. This is easier on i.MX8M
than on i.MX6, because the BootROM starts execution at an >= 32K offset,
so GPT can be located at its usual location. We should eventually move
barebox into a proper GPT partition, but for now, just keep the old
partition numbering intact.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Reviewed-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.barebox.org/20230728164933.342061-6-a.fatoum@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The i.MX8M defconfigs are identical, except for the bootloader binary used.
We already fix up the hd image name into the genimage config, so let's
fix up the bootloader image name as well and just have all i.MX8M share a
single config template.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Reviewed-by: Roland Hieber <rhi@pengutronix.de>
Link: https://lore.barebox.org/20230728164933.342061-5-a.fatoum@pengutronix.de
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|