Enable the new ext4l filesystem (Linux ext4 port) for sandbox testing. Series-to: concept Series-cc: heinrich Cover-letter: ext4l: Add write support (part L) This series adds write support to the new ext4l filesystem driver, supporting file creation, modification, and deletion. The main additions are: - File write with journalling support - File deletion (unlink) - Directory creation (mkdir) - Symbolic link creation (ln) - File and directory rename Infrastructure improvements include proper cleanup of journal references when unmounting, safeguards to handle probe without explicit close, and prevention of use-after-free issues with buffer_heads that have active journal_heads. Unlike Linux, which does not need to meticulously free every resource on unmount (since it can do so later as needed), U-Boot must fully clean up. The bootloader may mount and unmount filesystems multiple times during a session, such as loading a kernel from one partition and a device tree from another, or when running tests. Memory leaks accumulate and cause failures, so ext4l includes extra cleanup code that the Linux ext4 driver does not require. The series also enables ext4l for sandbox testing and allows the use of metadata_csum checksums which the existing ext4 driver does not support. Some other tweaks are included: - a fix for mcheck to avoid filling up pre-relocation malloc() - use the correct logo for readthedocs - add a flag to avoid using the video console in tests - a fallback option for finding persistent data-dir At this point ext4l is useable, but there is more work needed, including: - Add MAINTAINERS entry - Add more Kconfig options for various features (to reduce code size) - Enable for ARM and x86 targets - Documentation - Tests for failure cases (to check that the journal is doing its job) END Co-developed-by: Claude <noreply@anthropic.com> Signed-off-by: Simon Glass <simon.glass@canonical.com> Series-links: 1:98
379 lines
8.4 KiB
Plaintext
379 lines
8.4 KiB
Plaintext
CONFIG_TEXT_BASE=0
|
|
CONFIG_SYS_MALLOC_LEN=0x8000000
|
|
CONFIG_BLOBLIST_SIZE_RELOC=0x20000
|
|
CONFIG_NR_DRAM_BANKS=1
|
|
CONFIG_ENV_SIZE=0x2000
|
|
CONFIG_DEFAULT_DEVICE_TREE="sandbox"
|
|
CONFIG_DM_RESET=y
|
|
CONFIG_SYS_LOAD_ADDR=0x0
|
|
CONFIG_PRE_CON_BUF_ADDR=0xf0000
|
|
CONFIG_PCI=y
|
|
CONFIG_DEBUG_UART=y
|
|
CONFIG_SYS_MEMTEST_START=0x00100000
|
|
CONFIG_SYS_MEMTEST_END=0x00101000
|
|
CONFIG_ULIB=y
|
|
CONFIG_MCHECK_HEAP_PROTECTION=y
|
|
CONFIG_EXAMPLES=y
|
|
CONFIG_EFI_SECURE_BOOT=y
|
|
CONFIG_EFI_RT_VOLATILE_STORE=y
|
|
CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y
|
|
CONFIG_EFI_CAPSULE_ON_DISK=y
|
|
CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
|
|
CONFIG_EFI_CAPSULE_AUTHENTICATE=y
|
|
CONFIG_EFI_CAPSULE_CRT_FILE="board/sandbox/capsule_pub_key_good.crt"
|
|
CONFIG_EFI_LOG=y
|
|
CONFIG_BUTTON_CMD=y
|
|
CONFIG_FIT=y
|
|
CONFIG_FIT_RSASSA_PSS=y
|
|
CONFIG_FIT_CIPHER=y
|
|
CONFIG_FIT_VERBOSE=y
|
|
CONFIG_BOOTM_OPENRTOS=y
|
|
CONFIG_BOOTM_OSE=y
|
|
CONFIG_BOOTMETH_ANDROID=y
|
|
CONFIG_UPL=y
|
|
CONFIG_LEGACY_IMAGE_FORMAT=y
|
|
CONFIG_MEASURED_BOOT=y
|
|
CONFIG_BOOTSTAGE=y
|
|
CONFIG_BOOTSTAGE_REPORT=y
|
|
CONFIG_BOOTSTAGE_RECORD_COUNT=50
|
|
CONFIG_BOOTSTAGE_FDT=y
|
|
CONFIG_BOOTSTAGE_STASH=y
|
|
CONFIG_BOOTSTAGE_STASH_SIZE=0x4096
|
|
CONFIG_AUTOBOOT_KEYED=y
|
|
CONFIG_AUTOBOOT_PROMPT="Enter password \"a\" in %d seconds to stop autoboot\n"
|
|
CONFIG_AUTOBOOT_ENCRYPTION=y
|
|
CONFIG_AUTOBOOT_SHA256_FALLBACK=y
|
|
CONFIG_AUTOBOOT_NEVER_TIMEOUT=y
|
|
CONFIG_AUTOBOOT_STOP_STR_ENABLE=y
|
|
CONFIG_AUTOBOOT_STOP_STR_CRYPT="$5$rounds=640000$HrpE65IkB8CM5nCL$BKT3QdF98Bo8fJpTr9tjZLZQyzqPASBY20xuK5Rent9"
|
|
CONFIG_IMAGE_PRE_LOAD=y
|
|
CONFIG_IMAGE_PRE_LOAD_SIG=y
|
|
CONFIG_CEDIT=y
|
|
CONFIG_CONSOLE_RECORD=y
|
|
CONFIG_CONSOLE_RECORD_OUT_SIZE=0x20000
|
|
CONFIG_PRE_CONSOLE_BUFFER=y
|
|
CONFIG_LOG=y
|
|
CONFIG_LOG_MAX_LEVEL=9
|
|
CONFIG_LOG_DEFAULT_LEVEL=6
|
|
CONFIG_LOGF_FUNC=y
|
|
CONFIG_DISPLAY_BOARDINFO_LATE=y
|
|
CONFIG_STACKPROTECTOR=y
|
|
CONFIG_ANDROID_AB=y
|
|
CONFIG_CMD_CPU=y
|
|
CONFIG_CMD_UFETCH=y
|
|
CONFIG_CMD_LICENSE=y
|
|
CONFIG_CMD_SMBIOS=y
|
|
CONFIG_CMD_BOOTM_PRE_LOAD=y
|
|
CONFIG_CMD_BOOTZ=y
|
|
CONFIG_CMD_BOOTEFI_HELLO=y
|
|
CONFIG_CMD_BOOTMENU=y
|
|
CONFIG_CMD_ABOOTIMG=y
|
|
CONFIG_CMD_ASKENV=y
|
|
CONFIG_CMD_GREPENV=y
|
|
CONFIG_CMD_ERASEENV=y
|
|
CONFIG_CMD_ENV_CALLBACK=y
|
|
CONFIG_CMD_ENV_FLAGS=y
|
|
CONFIG_CMD_NVEDIT_EFI=y
|
|
CONFIG_CMD_NVEDIT_INFO=y
|
|
CONFIG_CMD_NVEDIT_LOAD=y
|
|
CONFIG_CMD_NVEDIT_SELECT=y
|
|
CONFIG_LOOPW=y
|
|
CONFIG_CMD_MD5SUM=y
|
|
CONFIG_CMD_MEM_SEARCH=y
|
|
CONFIG_CMD_MX_CYCLIC=y
|
|
CONFIG_CMD_MEMTEST=y
|
|
CONFIG_CMD_CLK=y
|
|
CONFIG_CMD_DEMO=y
|
|
CONFIG_CMD_GPIO=y
|
|
CONFIG_CMD_GPIO_READ=y
|
|
CONFIG_CMD_PWM=y
|
|
CONFIG_CMD_GPT=y
|
|
CONFIG_CMD_GPT_RENAME=y
|
|
CONFIG_CMD_IDE=y
|
|
CONFIG_CMD_I2C=y
|
|
CONFIG_CMD_LOADM=y
|
|
CONFIG_CMD_LSBLK=y
|
|
CONFIG_CMD_MTD=y
|
|
CONFIG_CMD_MUX=y
|
|
CONFIG_CMD_OSD=y
|
|
CONFIG_CMD_PCI=y
|
|
CONFIG_CMD_PCI_MPS=y
|
|
CONFIG_CMD_READ=y
|
|
CONFIG_CMD_REMOTEPROC=y
|
|
CONFIG_CMD_SPI=y
|
|
CONFIG_CMD_TEMPERATURE=y
|
|
CONFIG_CMD_USB=y
|
|
CONFIG_CMD_RKMTD=y
|
|
CONFIG_CMD_WDT=y
|
|
CONFIG_CMD_WRITE=y
|
|
CONFIG_CMD_AXI=y
|
|
CONFIG_CMD_CAT=y
|
|
CONFIG_CMD_SETEXPR_FMT=y
|
|
CONFIG_CMD_XXD=y
|
|
CONFIG_CMD_DHCP6=y
|
|
CONFIG_BOOTP_DNS2=y
|
|
CONFIG_CMD_PCAP=y
|
|
CONFIG_CMD_TFTPPUT=y
|
|
CONFIG_CMD_TFTPSRV=y
|
|
CONFIG_CMD_RARP=y
|
|
CONFIG_CMD_CDP=y
|
|
CONFIG_CMD_SNTP=y
|
|
CONFIG_CMD_LINK_LOCAL=y
|
|
CONFIG_IPV6_ROUTER_DISCOVERY=y
|
|
CONFIG_CMD_ETHSW=y
|
|
CONFIG_CMD_DNS=y
|
|
CONFIG_CMD_2048=y
|
|
CONFIG_CMD_BMP=y
|
|
CONFIG_CMD_BOOTCOUNT=y
|
|
CONFIG_CMD_EFIDEBUG=y
|
|
CONFIG_CMD_RTC=y
|
|
CONFIG_CMD_TIME=y
|
|
CONFIG_CMD_PAUSE=y
|
|
CONFIG_CMD_TIMER=y
|
|
CONFIG_CMD_SOUND=y
|
|
CONFIG_CMD_QFW=y
|
|
CONFIG_CMD_PSTORE=y
|
|
CONFIG_CMD_PSTORE_MEM_ADDR=0x3000000
|
|
CONFIG_CMD_BOOTSTAGE=y
|
|
CONFIG_CMD_PMIC=y
|
|
CONFIG_CMD_REGULATOR=y
|
|
CONFIG_CMD_AES=y
|
|
CONFIG_CMD_TPM=y
|
|
CONFIG_CMD_TPM_TEST=y
|
|
CONFIG_CMD_SCMI=y
|
|
CONFIG_CMD_BTRFS=y
|
|
CONFIG_CMD_CBFS=y
|
|
CONFIG_CMD_CRAMFS=y
|
|
CONFIG_CMD_EROFS=y
|
|
CONFIG_CMD_EXT4_WRITE=y
|
|
CONFIG_CMD_SQUASHFS=y
|
|
CONFIG_CMD_MTDPARTS=y
|
|
CONFIG_CMD_STACKPROTECTOR_TEST=y
|
|
CONFIG_MAC_PARTITION=y
|
|
CONFIG_OF_CONTROL=y
|
|
CONFIG_OF_LIVE=y
|
|
CONFIG_ENV_IS_NOWHERE=y
|
|
CONFIG_ENV_IS_IN_EXT4=y
|
|
CONFIG_ENV_EXT4_INTERFACE="host"
|
|
CONFIG_ENV_EXT4_DEVICE_AND_PART="0:0"
|
|
CONFIG_ENV_IMPORT_FDT=y
|
|
CONFIG_BOOTP_SEND_HOSTNAME=y
|
|
CONFIG_NETCONSOLE=y
|
|
CONFIG_IP_DEFRAG=y
|
|
CONFIG_BOOTP_SERVERIP=y
|
|
CONFIG_IPV6=y
|
|
CONFIG_DM_DMA=y
|
|
CONFIG_DEBUG_DEVRES=y
|
|
CONFIG_SIMPLE_PM_BUS=y
|
|
CONFIG_ADC=y
|
|
CONFIG_ADC_SANDBOX=y
|
|
CONFIG_AXI=y
|
|
CONFIG_AXI_SANDBOX=y
|
|
CONFIG_SYS_IDE_MAXBUS=1
|
|
CONFIG_SYS_ATA_BASE_ADDR=0x100
|
|
CONFIG_SYS_ATA_STRIDE=4
|
|
CONFIG_SYS_ATA_DATA_OFFSET=0
|
|
CONFIG_SYS_ATA_REG_OFFSET=1
|
|
CONFIG_SYS_ATA_ALT_OFFSET=2
|
|
CONFIG_SYS_ATA_IDE0_OFFSET=0
|
|
CONFIG_BLK_LUKS=y
|
|
CONFIG_BOOTCOUNT_LIMIT=y
|
|
CONFIG_DM_BOOTCOUNT=y
|
|
CONFIG_DM_BOOTCOUNT_RTC=y
|
|
CONFIG_DM_BOOTCOUNT_I2C_EEPROM=y
|
|
CONFIG_DM_BOOTCOUNT_SYSCON=y
|
|
CONFIG_BUTTON_ADC=y
|
|
CONFIG_BUTTON_GPIO=y
|
|
CONFIG_CLK=y
|
|
CONFIG_CLK_COMPOSITE_CCF=y
|
|
CONFIG_CLK_K210=y
|
|
CONFIG_CLK_K210_SET_RATE=y
|
|
CONFIG_SANDBOX_CLK_CCF=y
|
|
CONFIG_CLK_SCMI=y
|
|
CONFIG_CPU=y
|
|
CONFIG_DM_DEMO=y
|
|
CONFIG_DM_DEMO_SIMPLE=y
|
|
CONFIG_DM_DEMO_SHAPE=y
|
|
CONFIG_DFU_SF=y
|
|
CONFIG_DMA=y
|
|
CONFIG_DMA_CHANNELS=y
|
|
CONFIG_SANDBOX_DMA=y
|
|
CONFIG_FASTBOOT_FLASH=y
|
|
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
|
|
CONFIG_ARM_FFA_TRANSPORT=y
|
|
CONFIG_GPIO_HOG=y
|
|
CONFIG_DM_GPIO_LOOKUP_LABEL=y
|
|
CONFIG_QCOM_PMIC_GPIO=y
|
|
CONFIG_SANDBOX_GPIO=y
|
|
CONFIG_DM_HWSPINLOCK=y
|
|
CONFIG_HWSPINLOCK_SANDBOX=y
|
|
CONFIG_I2C_CROS_EC_TUNNEL=y
|
|
CONFIG_I2C_CROS_EC_LDO=y
|
|
CONFIG_DM_I2C_GPIO=y
|
|
CONFIG_I2C_MUX=y
|
|
CONFIG_I2C_ARB_GPIO_CHALLENGE=y
|
|
CONFIG_CROS_EC_KEYB=y
|
|
CONFIG_I8042_KEYB=y
|
|
CONFIG_IOMMU=y
|
|
CONFIG_LED=y
|
|
CONFIG_LED_BLINK=y
|
|
CONFIG_LED_GPIO=y
|
|
CONFIG_DM_MAILBOX=y
|
|
CONFIG_SANDBOX_MBOX=y
|
|
CONFIG_MISC=y
|
|
CONFIG_NVMEM=y
|
|
CONFIG_CROS_EC=y
|
|
CONFIG_CROS_EC_I2C=y
|
|
CONFIG_CROS_EC_LPC=y
|
|
CONFIG_CROS_EC_SANDBOX=y
|
|
CONFIG_CROS_EC_SPI=y
|
|
CONFIG_P2SB=y
|
|
CONFIG_PWRSEQ=y
|
|
CONFIG_I2C_EEPROM=y
|
|
CONFIG_MMC_PCI=y
|
|
CONFIG_MMC_SANDBOX=y
|
|
CONFIG_MMC_SDHCI=y
|
|
CONFIG_DM_MTD=y
|
|
CONFIG_MTD_RAW_NAND=y
|
|
CONFIG_SYS_MAX_NAND_DEVICE=8
|
|
CONFIG_SYS_NAND_USE_FLASH_BBT=y
|
|
CONFIG_NAND_SANDBOX=y
|
|
CONFIG_SYS_NAND_ONFI_DETECTION=y
|
|
CONFIG_SYS_NAND_PAGE_SIZE=0x200
|
|
CONFIG_SPI_FLASH_SANDBOX=y
|
|
CONFIG_BOOTDEV_SPI_FLASH=y
|
|
CONFIG_SPI_FLASH_ATMEL=y
|
|
CONFIG_SPI_FLASH_EON=y
|
|
CONFIG_SPI_FLASH_GIGADEVICE=y
|
|
CONFIG_SPI_FLASH_MACRONIX=y
|
|
CONFIG_SPI_FLASH_SPANSION=y
|
|
CONFIG_SPI_FLASH_STMICRO=y
|
|
CONFIG_SPI_FLASH_SST=y
|
|
CONFIG_SPI_FLASH_WINBOND=y
|
|
CONFIG_NVMXIP_QSPI=y
|
|
CONFIG_MULTIPLEXER=y
|
|
CONFIG_MUX_MMIO=y
|
|
CONFIG_NVME_PCI=y
|
|
CONFIG_PCI_REGION_MULTI_ENTRY=y
|
|
CONFIG_PCI_FTPCI100=y
|
|
CONFIG_PCI_SANDBOX=y
|
|
CONFIG_PHY=y
|
|
CONFIG_PHY_SANDBOX=y
|
|
CONFIG_PINCTRL=y
|
|
CONFIG_PINCONF=y
|
|
CONFIG_PINCTRL_SANDBOX=y
|
|
CONFIG_PINCTRL_SINGLE=y
|
|
CONFIG_POWER_DOMAIN=y
|
|
CONFIG_SANDBOX_POWER_DOMAIN=y
|
|
CONFIG_SCMI_POWER_DOMAIN=y
|
|
CONFIG_DM_PMIC=y
|
|
CONFIG_PMIC_ACT8846=y
|
|
CONFIG_DM_PMIC_PFUZE100=y
|
|
CONFIG_DM_PMIC_MAX77686=y
|
|
CONFIG_DM_PMIC_MC34708=y
|
|
CONFIG_PMIC_QCOM=y
|
|
CONFIG_PMIC_RK8XX=y
|
|
CONFIG_PMIC_S2MPS11=y
|
|
CONFIG_DM_PMIC_SANDBOX=y
|
|
CONFIG_PMIC_S5M8767=y
|
|
CONFIG_PMIC_TPS65090=y
|
|
CONFIG_DM_REGULATOR=y
|
|
CONFIG_REGULATOR_ACT8846=y
|
|
CONFIG_DM_REGULATOR_PFUZE100=y
|
|
CONFIG_DM_REGULATOR_MAX77686=y
|
|
CONFIG_DM_REGULATOR_FIXED=y
|
|
CONFIG_REGULATOR_RK8XX=y
|
|
CONFIG_REGULATOR_S5M8767=y
|
|
CONFIG_DM_REGULATOR_SANDBOX=y
|
|
CONFIG_REGULATOR_TPS65090=y
|
|
CONFIG_DM_REGULATOR_SCMI=y
|
|
CONFIG_DM_PWM=y
|
|
CONFIG_PWM_CROS_EC=y
|
|
CONFIG_PWM_SANDBOX=y
|
|
CONFIG_RAM=y
|
|
CONFIG_DM_REBOOT_MODE=y
|
|
CONFIG_DM_REBOOT_MODE_GPIO=y
|
|
CONFIG_DM_REBOOT_MODE_RTC=y
|
|
CONFIG_REMOTEPROC_SANDBOX=y
|
|
CONFIG_SANDBOX_RESET=y
|
|
CONFIG_RESET_SYSCON=y
|
|
CONFIG_RESET_SCMI=y
|
|
CONFIG_DM_RTC=y
|
|
CONFIG_RTC_MAX313XX=y
|
|
CONFIG_RTC_RV8803=y
|
|
CONFIG_RTC_HT1380=y
|
|
CONFIG_SCSI=y
|
|
CONFIG_SANDBOX_SERIAL=y
|
|
CONFIG_SM=y
|
|
CONFIG_SOUND=y
|
|
CONFIG_SOUND_DA7219=y
|
|
CONFIG_SOUND_MAX98357A=y
|
|
CONFIG_SOUND_SANDBOX=y
|
|
CONFIG_SOC_DEVICE=y
|
|
CONFIG_SANDBOX_SPI=y
|
|
CONFIG_SPMI=y
|
|
CONFIG_SPMI_SANDBOX=y
|
|
CONFIG_SYSINFO=y
|
|
CONFIG_SYSINFO_SANDBOX=y
|
|
CONFIG_SYSINFO_GPIO=y
|
|
CONFIG_SYSRESET=y
|
|
CONFIG_DM_THERMAL=y
|
|
CONFIG_TIMER=y
|
|
CONFIG_TIMER_EARLY=y
|
|
CONFIG_SANDBOX_TIMER=y
|
|
CONFIG_USB=y
|
|
CONFIG_DM_USB_GADGET=y
|
|
CONFIG_USB_EMUL=y
|
|
CONFIG_USB_KEYBOARD=y
|
|
CONFIG_USB_GADGET=y
|
|
CONFIG_USB_GADGET_DOWNLOAD=y
|
|
CONFIG_USB_ETHER=y
|
|
CONFIG_USB_ETH_CDC=y
|
|
CONFIG_VIDEO=y
|
|
CONFIG_VIDEO_FONT_SUN12X22=y
|
|
CONFIG_VIDEO_COPY=y
|
|
CONFIG_CONSOLE_ROTATION=y
|
|
CONFIG_CONSOLE_TRUETYPE=y
|
|
CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y
|
|
CONFIG_CONSOLE_TRUETYPE_UBUNTU_LIGHT=y
|
|
CONFIG_CONSOLE_TRUETYPE_UBUNTU_BOLD=y
|
|
CONFIG_I2C_EDID=y
|
|
CONFIG_VIDEO_SANDBOX_SDL=y
|
|
CONFIG_VIDEO_DSI_HOST_SANDBOX=y
|
|
CONFIG_OSD=y
|
|
CONFIG_SANDBOX_OSD=y
|
|
CONFIG_BMP_16BPP=y
|
|
CONFIG_BMP_24BPP=y
|
|
CONFIG_VIRTIO_BLK=y
|
|
CONFIG_W1=y
|
|
CONFIG_W1_GPIO=y
|
|
CONFIG_W1_EEPROM=y
|
|
CONFIG_W1_EEPROM_SANDBOX=y
|
|
# CONFIG_WATCHDOG_AUTOSTART is not set
|
|
CONFIG_WDT=y
|
|
CONFIG_WDT_GPIO=y
|
|
CONFIG_WDT_SANDBOX=y
|
|
CONFIG_WDT_ALARM_SANDBOX=y
|
|
CONFIG_WDT_FTWDT010=y
|
|
CONFIG_FS_CBFS=y
|
|
CONFIG_FS_EXFAT=y
|
|
CONFIG_FS_CRAMFS=y
|
|
CONFIG_FS_EXT4L=y
|
|
CONFIG_EXT4_WRITE=y
|
|
CONFIG_ADDR_MAP=y
|
|
CONFIG_PANIC_HANG=y
|
|
CONFIG_CMD_DHRYSTONE=y
|
|
CONFIG_MBEDTLS_LIB=y
|
|
CONFIG_ECDSA=y
|
|
CONFIG_ECDSA_VERIFY=y
|
|
CONFIG_TPM=y
|
|
CONFIG_ERRNO_STR=y
|
|
CONFIG_GETOPT=y
|
|
CONFIG_ARGON2=y
|
|
CONFIG_BACKTRACE=y
|
|
CONFIG_TEST_FDTDEC=y
|
|
CONFIG_UNIT_TEST=y
|
|
CONFIG_UT_BOOTCTL=y
|
|
CONFIG_UT_TIME=y
|
|
CONFIG_UT_DM=y
|