summaryrefslogtreecommitdiff
path: root/cmd
AgeCommit message (Collapse)Author
2025-04-08Merge branch 'next'Tom Rini
Note that this undoes the changes of commit cf6d4535cc4c ("x86: emulation: Disable bloblist for now") as that was intended only for the release due to time.
2025-04-07Revert "Merge patch series "pxe: Precursor series for supporting read_all() ↵Tom Rini
in extlinux / PXE"" This reverts commit 8bc3542384e3a1219e5ffb62b79d16dddc1b1fb9, reversing changes made to 698edd63eca090a2e299cd3facf90a0b97bed677. There are still problems with this series to work out. Link: https://lore.kernel.org/u-boot/CAFLszTjw_MJbK9tpzVYi3XKGazcv55auBAdgVzcAVUta7dRqcg@mail.gmail.com/ Signed-off-by: Tom Rini <[email protected]>
2025-04-04Merge patch series "cmd: fuse: Introduce fuse writebuff sub-system and clean up"Tom Rini
Harsha Vardhan V M <[email protected]> says: This patch series introduces the fuse writebuff sub-system command and makes improvements to the existing fuse implementation by removing the custom string functions. The patches are required to be applied in sequence. The series consists of the following changes: Patch 1 removes custom string functions and replaces them with standard string functions. Patch 2 introduces fuse.rst documentation for fuse commands. Patch 3 introduces the fuse writebuff sub-system command, allowing to write a structured buffer in memory to fuses, and implementing the necessary function calls. Patch 4 enables the fuse sub-system in the K3 platform. Patch 5 updates the fuse.rst documentation to include details about the new fuse writebuff command. These changes aim to improve the fuse sub-system by the removal of custom string functions and the addition of the fuse writebuff command improves fuse programming workflows by allowing to write a structured buffer in memory to efuses. Link: https://lore.kernel.org/r/[email protected]
2025-04-04cmd: fuse: Add fuse writebuff sub-system commandHarsha Vardhan V M
Add CMD_FUSE_WRITEBUFF config option to add and enable fuse writebuff sub-system command. Add fuse_writebuff function to be invoked on writebuff command. Signed-off-by: Harsha Vardhan V M <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-04-04cmd: fuse: Remove custom string functionsHarsha Vardhan V M
Remove custom string functions and replace them with normal string functions. Remove the custom strtou32 and replace it with simple_strtoul. Signed-off-by: Harsha Vardhan V M <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-04-03acpi: Support checking checksumsSimon Glass
When the ACPI tables come from an earlier bootloader it is helpful to see whether the checksums are correct or not. Add a -c flag to the 'acpi list' command to support that. Signed-off-by: Simon Glass <[email protected]>
2025-04-03sandbox: acpi: Avoid a warning about FADTSimon Glass
Add a condition for sandbox, to match that of x86, to avoid the warning "FADT not ACPI-hardware-reduced-compliant". Signed-off-by: Simon Glass <[email protected]>
2025-04-03boot: Consider non-bootable partitionsSimon Glass
Any 'bootable' flag in a DOS partition causes boostd to only scan bootable partitions for that media. This can mean that extlinux.conf files on the root disk are missed. Put this logic behind a flag and update the documentation. For now, the flag is enabled, to preserve the existing behaviour of bootstd which is to ignore non-bootable partitions so long as there is at least one bootable partition on the disk. Future work may provide a command (or some other mechanism) to control this. Signed-off-by: Simon Glass <[email protected]>
2025-04-03x86: Update mtrr command to support 64-bit valuesSimon Glass
The MTRR registers have 64-bit values. Update the command to use 64-bit values so that memory larger than 4GB can be handled. Signed-off-by: Simon Glass <[email protected]>
2025-04-03x86: Add functions to convert between mtrr size and maskSimon Glass
Rather than repeating the same code in several places, add some functions which can do the conversion. Use the cpu_phys_address_size() function to obtain the physical-address size, since it is more reliable with kvm, where the host CPU may have a different value from the emulation CPU. Signed-off-by: Simon Glass <[email protected]>
2025-04-02Merge patch series "fs: exfat: Add exfat port based on exfat-fuse"Tom Rini
Marek Vasut <[email protected]> says: Import exfat-fuse libexfat, add U-Boot filesystem layer porting glue code and wire exfat support into generic filesystem support code. This adds exfat support to U-Boot. Fill in generic filesystem interface for mkdir and rm commands. Make filesystem tests test the generic interface as well as exfat, to make sure this code does not fall apart. Link: https://github.com/relan/exfat/commits/0b41c6d3560d ("CI: bump FreeBSD to 13.1.") Link: https://lore.kernel.org/r/[email protected]
2025-04-02cmd: fs: Add generic rm implementationMarek Vasut
Add generic implementation of the 'rm' command to delete files from filesystems using the generic filesystem API. Reviewed-by: Tom Rini <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-04-02cmd: fs: Add generic mkdir implementationMarek Vasut
Add generic implementation of the 'mkdir' command to create directories in filesystems using the generic filesystem API. Reviewed-by: Tom Rini <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-04-01cmd: Correct dependency for CMD_LINK_LOCALTom Rini
Given how LIB_RAND is handled now, we should be depending on one of the implementations and not selecting one of them. Signed-off-by: Tom Rini <[email protected]>
2025-03-31cmd: Kconfig: Fix submenu for network commandsPaul Barker
The Kconfig parser seems to get confused by the current if conditions following CMD_NET and displays all network command options directly in the "Command line interface" menu instead of in a "Network commands" submenu. To help out Kconfig we can simplify the if conditions, so that the definition of CMD_NET is followed immediately by an if/endif block that contains all network command options. We can also remove nested checks for CMD_NET or (NET || NET_LWIP). Fixes: 98ad145db61a ("net: lwip: add DHCP support and dhcp commmand") Signed-off-by: Paul Barker <[email protected]> Reviewed-by: Jerome Forissier <[email protected]>
2025-03-31net: lwip: remove superfluous newline at tftp help textMichael Walle
The help text has a newline at the end which will lead to an empty line after the tftpboot when printing the help overview. Remove it. Fixes: 4d4d7838127e ("net: lwip: add TFTP support and tftpboot command") Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Jerome Forissier <[email protected]>
2025-03-26blkmap: add an attribute to preserve the mem mappingSughosh Ganu
Some blkmap memory mapped devices might have to be relevant even after U-Boot passes control to the next image as part of the platform boot. An example of such a mapping would be an OS installer ISO image, information for which has to be provided to the OS kernel. Use the 'preserve' attribute for such mappings. The code for adding a pmem node to the device-tree then checks if this attribute is set, and adds a node only for mappings which have this attribute. Signed-off-by: Sughosh Ganu <[email protected]> Reviewed-by: Tobias Waldekranz <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2025-03-24Merge tag 'v2025.04-rc5' into nextTom Rini
Prepare v2025.04-rc5
2025-03-18Merge patch series "pxe: Precursor series for supporting read_all() in ↵Tom Rini
extlinux / PXE" Simon Glass <[email protected]> says: This series includes some patches related to allowing read_all() to be used with the extlinux / PXE bootmeths. These patches were split out from the stb4 series, since it will need to have additional patches for LWIP, to avoid breaking PXE booting when LWIP is used. Link: https://lore.kernel.org/r/[email protected]
2025-03-18net: Provide a function to run network operationsSimon Glass
Add a new netboot_run() function which can be used for simple network operations, such as loading a file. Put the implementation in an internal function, used by the existing code. Place this function into the net/ code, so that it does not need the command line to be available. Document which network operations are supported, i.e. a limited subset, for now. For the one board which uses lwip, it is not quite clear how to avoid using the cmdline interface. This will need some discussion. Signed-off-by: Simon Glass <[email protected]>
2025-03-18net: Drop #ifdef in parse_args()Simon Glass
Use IS_ENABLED() to avoid an extra build path. Signed-off-by: Simon Glass <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
2025-03-18net: Refactor part of netboot_common() into a functionSimon Glass
Move the core code for starting an netboot operation into a separate function, so that we can (with additional work) move towards calling it from outside the file. Signed-off-by: Simon Glass <[email protected]>
2025-03-18net: Return the size from parse_args()Simon Glass
Rather than setting global variables, return the size, if provided. For tftput, use the addr argument to store the save address, to avoid adding yet another parameter. Signed-off-by: Simon Glass <[email protected]>
2025-03-18net: Return the address and size from parse_addr_size()Simon Glass
Rather than updating the global, update the value of some parameters, so the action of the function is simpler. Signed-off-by: Simon Glass <[email protected]>
2025-03-18net: Return the load address from parse_args()Simon Glass
Rather than updating the global, update the value of a parameter, so the action of the function is simpler. Signed-off-by: Simon Glass <[email protected]>
2025-03-18net: Simplify parse_args()Simon Glass
This function repeats the same code in a few places, namely setting net_boot_file_name_explicit and copying of the filename to net_boot_file_name Move these two operations to the caller, with just the filename (or NULL) returned by parse_args() This makes things a little easier to follow. Signed-off-by: Simon Glass <[email protected]>
2025-03-18net: Tidy up the comments to parse_args()Simon Glass
This function is a bit vague as to what it does. Expand the comment a little, to specify which args are provided and which variables are updated. Signed-off-by: Simon Glass <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
2025-03-18net: Keep the bootstage functions togetherSimon Glass
Move the bootstage_mark() function just before net_loop(), so that the IPv6 code is not in the way. Signed-off-by: Simon Glass <[email protected]>
2025-03-18x86: Drop the unnecessary base_ptr argument to zboot_dump()Simon Glass
This value is include the bootm_info, so drop the unnecessary parameter. Signed-off-by: Simon Glass <[email protected]>
2025-03-18bootstd: Correct display of kernel versionSimon Glass
The address of the bzImage is not recorded in the bootflow, so we cannot actually locate the version at present. Handle this case, to avoid showing invalid data. Signed-off-by: Simon Glass <[email protected]>
2025-03-18x86: Move the bootm state for zimage into cmd/Simon Glass
Rather than holding the state in the implementation code, move it to the command code. The state is now passed to the implementation functions and can there (with future work) be pass in from bootstd, without going through the commands. Signed-off-by: Simon Glass <[email protected]>
2025-03-18x86: Rename state to bmiSimon Glass
Use the common name for the struct, in preparation for passing it around between functions. Signed-off-by: Simon Glass <[email protected]>
2025-03-18x86: Drop duplicate definition of zimage_dump()Simon Glass
This is now defined in bootm.h so drop the duplicate in the x86 code. Signed-off-by: Simon Glass <[email protected]>
2025-03-18x86: Make do_zboot_states() staticSimon Glass
This function is only called within zboot.c so make the function private. Signed-off-by: Simon Glass <[email protected]>
2025-03-17cmd: version: Get information about GCC and LD backMichal Simek
U-Boot version command is no longer showing information about GCC and LD. The reason is that version.h has been removed that's why CC_VERSION_STRING and LD_VERSION_STRING are not pass. Values are generated to generated/version_autogenerated.h which is sourced in version.h. Fixes: 54ecce2cbf90 ("version: Separate our version string from the version command") Signed-off-by: Michal Simek <[email protected]>
2025-03-14meminfo: add memory details for armv8Ilias Apalodimas
Upcoming patches are mapping memory with RO, RW^X etc permsissions. Fix the meminfo command to display them properly Acked-by: Jerome Forissier <[email protected]> Reviewed-by: Caleb Connolly <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2025-03-13cmd: Drop last reference to CMD_REISERFSTom Rini
While the code was removed in commit 3766a249a3c0 ("fs: drop reiserfs") this reference in the Makefile was missed. Remove it now. Fixes: 3766a249a3c0 ("fs: drop reiserfs") Reviewed-by: Peter Robinson <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2025-03-11net: lwip: add support for built-in root certificatesJerome Forissier
Introduce Kconfig symbols WGET_BUILTIN_CACERT and WGET_BUILTIN_CACERT_PATH to provide root certificates at build time. Usage example: wget -O cacert.crt https://cacerts.digicert.com/DigiCertTLSECCP384RootG5.crt make qemu_arm64_lwip_defconfig echo CONFIG_WGET_BUILTIN_CACERT=y >>.config echo CONFIG_WGET_BUILTIN_CACERT_PATH=cacert.crt >>.config make olddefconfig make -j$(nproc) CROSS_COMPILE="ccache aarch64-linux-gnu-" qemu-system-aarch64 -M virt -nographic -cpu max \ -object rng-random,id=rng0,filename=/dev/urandom \ -device virtio-rng-pci,rng=rng0 -bios u-boot.bin => dhcp # HTTPS transfer using the builtin CA certificates => wget https://digicert-tls-ecc-p384-root-g5.chain-demos.digicert.com/ 1867 bytes transferred in 1 ms (1.8 MiB/s) Bytes transferred = 1867 (74b hex) Signed-off-by: Jerome Forissier <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-03-11net: lwip: extend wget to support CA (root) certificatesJerome Forissier
Add the "cacert" (Certification Authority certificates) subcommand to wget to pass root certificates to the code handling the HTTPS protocol. The subcommand is enabled by the WGET_CACERT Kconfig symbol. Usage example: => dhcp # Download some root certificates (note: not authenticated!) => wget https://cacerts.digicert.com/DigiCertTLSECCP384RootG5.crt # Provide root certificates => wget cacert $fileaddr $filesize # Enforce verification (it is optional by default) => wget cacert required # Forget the root certificates => wget cacert 0 0 # Disable verification => wget cacert none Signed-off-by: Jerome Forissier <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-03-10Merge tag 'v2025.04-rc4' into nextTom Rini
This uses Heinrich's merge of lib/efi_loader/efi_net.c which results in no changes.
2025-03-07Merge patch series "This series adds support for file renaming to ↵Tom Rini
EFI_FILE_PROTOCOL.SetInfo()." Gabriel Dalimonte <[email protected]> says: This series adds support for file renaming to EFI_FILE_PROTOCOL.SetInfo(). One of the use cases for renaming in EFI is to facilitate boot loader boot counting. No existing filesystems in U-Boot currently include file renaming, resulting in support for renaming at the filesystem level and a concrete implementation for the FAT filesystem. Link: https://lore.kernel.org/r/[email protected]
2025-03-07fs: fat: add renameGabriel Dalimonte
The implementation roughly follows the POSIX specification for rename() [1]. The ordering of operations attempting to minimize the chance for data loss in unexpected circumstances. The 'mv' command was implemented as a front end for the rename operation as that is what most users are likely familiar with in terms of behavior. The 'FAT_RENAME' Kconfig option was added to prevent code size increase on size-oriented builds like SPL. [1] https://pubs.opengroup.org/onlinepubs/9799919799/functions/rename.html Signed-off-by: Gabriel Dalimonte <[email protected]>
2025-02-27mbedtls: fix incorrect kconfig dependencies on mbedtlsRaymond Mao
Fixed the building failures when WGET_HTTPS,NET_LWIP and MBEDTLS_LIB are selected due to a few incorrect kconfig dependencies. Signed-off-by: Raymond Mao <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-02-26cmd: ufetch: use 3-bit colour ANSI codesSam Day
Currently, the 8-bit escapes are being used, which aren't supported by vidconsole_escape_char. Since the current usage maps directly to the 3-bit equivalents anyway, let's use those instead. With this change, the fetch output looks as fetching in the vidconsole as it does over serial! Signed-off-by: Sam Day <[email protected]> Tested-by: Alexey Minnekhanov <[email protected]> Tested-by: Ferass El Hafidi <[email protected]>
2025-02-24Merge tag 'v2025.04-rc3' into nextTom Rini
Prepare v2025.04-rc3
2025-02-14Merge patch series "Introduce K3 remoteproc driver for M4 subsystem"Tom Rini
Judith Mendez <[email protected]> says: Some K3 devices like am62x and am64x have a M4 processor in the MCU voltage domain. This patch series introduces remoteproc M4 driver which will be used to load firmware into and start the M4 remote core. This series also adds support for R5F cores on am64x SoCs in patch 2 and sets up environment to load FW in remote cores in patch 3,4,5. This patch series also enables remoteproc drivers by default as per what remoteproc sybsystem is supported per SoC, thus all remoteproc options are now deleted in configs/* since they are no longer required. This patch series was tested on am64x EVM, am62x SK, am62ax SK, am62px SK boards. Any additional tested by's are welcome since I was not able to test any additional boards. Tested by running the following commands in u-boot prompt: => setenv dorprocboot 1 => run boot_rprocs Link: https://lore.kernel.org/r/[email protected]
2025-02-14cmd: Enable CMD remoteproc by default for K3 ARCHJudith Mendez
Enable CMD_REMOTEPROC by default if building for K3 ARCH so that it does not have to be defined in each board defconfig file. Signed-off-by: Judith Mendez <[email protected]>
2025-02-12net: Kconfig: depend on DM_RNG for WGET_HTTPSJerome Forissier
net/lwip/wget.c/mbedtls_hardware_poll() is calling dm_rng_read() but dependency is not recorded anywhere that's why depend on DM_RNG when WGET_HTTPS is used. Suggested-by: Michal Simek <[email protected]> Co-developed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]> Signed-off-by: Jerome Forissier <[email protected]> Tested-by: Michal Simek <[email protected]>
2025-02-07Merge patch series "cmd/setexpr: support concatenation of direct strings"Tom Rini
Heinrich Schuchardt <[email protected]> says: The setexpr.s command allows to concatenate two strings. According to the description in doc/usage/cmd/setexpr.rst the parameters value1 and value2 can be either direct values or pointers to a memory location holding the values. Unfortunately `setexpr.s <value1> + <value2>` fails if any of the values is a direct value. $? is set to false. * Add support for direct values in setexpr.s. * Correct the unit test for "setexpr.s fred 0". * Add a new unit test for "setexpr.s fred '1' + '3'" giving '13'. * Remove invalid memory leak tests Link: https://lore.kernel.org/r/[email protected]
2025-02-07cmd/setexpr: support concatenation of direct stringsHeinrich Schuchardt
The setexpr.s command allows to concatenate two strings. According to the description in doc/usage/cmd/setexpr.rst the parameters value1 and value2 can be either direct values or pointers to a memory location holding the values. Unfortunately `setexpr.s <value1> + <value2>` fails if any of the values is a direct value. $? is set to false. * Add support for direct values in setexpr.s. * Correct the unit test for "setexpr.s fred 0". * Add a new unit test for "setexpr.s fred '1' + '3'" giving '13'. Signed-off-by: Heinrich Schuchardt <[email protected]>