Hi Herbert, On Thu, Nov 4, 2021 at 1:16 PM Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote: > On Thu, Nov 04, 2021 at 08:58:16AM +0100, Geert Uytterhoeven wrote: > > On Thu, Nov 4, 2021 at 8:29 AM Damien Le Moal <Damien.LeMoal@xxxxxxx> wrote: > > > On 2021/11/03 0:41, Geert Uytterhoeven wrote: > > > > > > Thanks for your patch, which is now commit cad439fc040efe5f > > > > ("crypto: api - Do not create test larvals if manager is disabled"). > > > > > > > > I have bisected a failure to mount the root file system on k210 to this > > > > commit. > > > > > > > > Dmesg before/after: > > > > > > > > mmcblk0: mmc0:0000 SA04G 3.68 GiB > > > > random: fast init done > > > > mmcblk0: p1 > > > > -EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null). Quota mode: disabled. > > > > -VFS: Mounted root (ext4 filesystem) readonly on device 179:1. > > > > +EXT4-fs (mmcblk0p1): Cannot load crc32c driver. > > > > +VFS: Cannot open root device "mmcblk0p1" or unknown-block(179,1): error -80 > > > > > > p1 exist as the message 2 lines above shows. And since the mount error is -80 > > > (ELIBBAD), it is really all about crypto. Since the default k210 config compile > > > everything in-kernel (no modules), it should work. Was crc32c compiled as a > > > module ? If yes, then the k210 will need to be booted with U-Boot and use a real > > > initrd, which likely will all end-up in a no memory situation. ext4 in itself > > > will consume way too much memory... > > > > Everything is built-in, including crc32c. It worked fine, until the commit > > referenced. > > Can someone please send me the Kconfig used in this case? My config is nommu_k210_sdcard_defconfig with the changes below: diff --git a/arch/riscv/configs/nommu_k210_sdcard_defconfig.orig b/arch/riscv/configs/nommu_k210_sdcard_defconfig index 61f887f65419950c..f14ea3803cea5f3d 100644 --- a/arch/riscv/configs/nommu_k210_sdcard_defconfig.orig +++ b/arch/riscv/configs/nommu_k210_sdcard_defconfig @@ -1,3 +1,5 @@ +CONFIG_WERROR=y +CONFIG_LOCALVERSION="-k210" # CONFIG_CPU_ISOLATION is not set CONFIG_LOG_BUF_SHIFT=13 CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12 @@ -21,16 +23,15 @@ CONFIG_EMBEDDED=y CONFIG_SLOB=y # CONFIG_MMU is not set CONFIG_SOC_CANAAN=y -CONFIG_SOC_CANAAN_K210_DTB_SOURCE="k210_generic" -CONFIG_MAXPHYSMEM_2GB=y +CONFIG_SOC_CANAAN_K210_DTB_SOURCE="sipeed_maix_bit" CONFIG_SMP=y CONFIG_NR_CPUS=2 CONFIG_CMDLINE="earlycon console=ttySIF0 rootdelay=2 root=/dev/mmcblk0p1 ro" CONFIG_CMDLINE_FORCE=y # CONFIG_SECCOMP is not set # CONFIG_STACKPROTECTOR is not set -# CONFIG_GCC_PLUGINS is not set -# CONFIG_BLK_DEV_BSG is not set +CONFIG_PARTITION_ADVANCED=y +# CONFIG_EFI_PARTITION is not set # CONFIG_MQ_IOSCHED_DEADLINE is not set # CONFIG_MQ_IOSCHED_KYBER is not set CONFIG_BINFMT_FLAT=y @@ -39,10 +40,16 @@ CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y # CONFIG_FW_LOADER is not set # CONFIG_ALLOW_DEV_COREDUMP is not set +CONFIG_MTD=y +# CONFIG_MTD_OF_PARTS is not set +CONFIG_MTD_SPI_NOR=y # CONFIG_BLK_DEV is not set -# CONFIG_INPUT is not set +# CONFIG_INPUT_LEDS is not set +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set # CONFIG_SERIO is not set # CONFIG_VT is not set +# CONFIG_UNIX98_PTYS is not set # CONFIG_LEGACY_PTYS is not set # CONFIG_LDISC_AUTOLOAD is not set # CONFIG_HW_RANDOM is not set @@ -52,7 +59,6 @@ CONFIG_I2C_CHARDEV=y # CONFIG_I2C_HELPER_AUTO is not set CONFIG_I2C_DESIGNWARE_PLATFORM=y CONFIG_SPI=y -# CONFIG_SPI_MEM is not set CONFIG_SPI_DESIGNWARE=y CONFIG_SPI_DW_MMIO=y # CONFIG_GPIO_CDEV_V1 is not set @@ -61,6 +67,7 @@ CONFIG_GPIO_SIFIVE=y CONFIG_POWER_RESET=y CONFIG_POWER_RESET_SYSCON=y # CONFIG_HWMON is not set +# CONFIG_HID is not set # CONFIG_USB_SUPPORT is not set CONFIG_MMC=y # CONFIG_PWRSEQ_EMMC is not set @@ -72,8 +79,9 @@ CONFIG_LEDS_GPIO=y CONFIG_LEDS_USER=y # CONFIG_VIRTIO_MENU is not set # CONFIG_VHOST_MENU is not set -# CONFIG_SURFACE_PLATFORMS is not set -CONFIG_EXT2_FS=y +# CONFIG_NVMEM is not set +CONFIG_EXT4_FS=y +# CONFIG_EXT4_USE_FOR_EXT2 is not set # CONFIG_FILE_LOCKING is not set # CONFIG_DNOTIFY is not set # CONFIG_INOTIFY_USER is not set @@ -82,8 +90,8 @@ CONFIG_LSM="[]" CONFIG_PRINTK_TIME=y # CONFIG_SYMBOLIC_ERRNAME is not set # CONFIG_DEBUG_BUGVERBOSE is not set -# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set # CONFIG_FRAME_POINTER is not set +CONFIG_VMLINUX_MAP=y # CONFIG_DEBUG_MISC is not set CONFIG_PANIC_ON_OOPS=y # CONFIG_SCHED_DEBUG is not set Thanks! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds