Hi, Our ARM32 Linux embedded system consists of these: * Linux Kernel: 4.14 * Processor: Qualcomm Arm32 Cortex-A7 * Storage: NAND 512MB * Platform: Simple busybox * Filesystem: UBIFS, Squashfs * Consists of nand raw partitions, squashfs ubi volumes.
My requirement: We wanted to use dm-verity at boot time to check the integrity of squashfs-rootfs before mounting. Problem: dm-0 is not able to locate and mount the squash fs rootfs block. The same approach is working when emulating with ext4 but fails with squashfs. Logs: [....] [ 0.000000] Kernel command line: [...] verity="96160 12020 d7b8a7d0c01b9aec888930841313a81603a50a2a7be44631c4c813197a50d681 0 " rootfstype=squashfs root=/dev/mtdblock34 ubi.mtd=30,0,30 [...] root=/dev/dm-0 dm="system none ro,0 96160 verity 1 /dev/mtdblock34 /dev/mtdblock39 4096 4096 12020 8 sha256 d7b8a7d0c01b9aec888930841313a81603a50a2a7be44631c4c813197a50d681 aee087a5be3b982978c923f566a94613496b417f2af592639bc80d141e34dfe7" [....] [ 4.693620] vreg_conn_pa: disa▒[ 4.700662] md: Skipping autodetection of RAID arrays. (raid=autodetect will force) [ 4.700713] device-mapper: init: attempting early device configuration. [ 4.708224] device-mapper: init: adding target '0 96160 verity 1 /dev/mtdblock34 /dev/mtdblock39 4096 4096 12020 8 sha256 d7b8a7d0c01b9aec888930841313a81603a50a2a7be44631c4c813197a50d681 aee087a5be3b982978c923f566a94613496b417f2af592639bc80d141e34dfe7' [ 4.714979] device-mapper: verity: sha256 using implementation "sha256-generic" [ 4.737808] device-mapper: init: dm-0 is ready [....] [ 5.278103] No filesystem could mount root, tried: [ 5.278107] squashfs [ 5.280477] [ 5.287627] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(253,0) [...] Not sure, why is it still locating block "253" here which seems like a MAJOR number ? Working logs on ext4: [....] [ 4.529822] v▒[ 4.534035] md: Skipping autodetection of RAID arrays. (raid=autodetect will force) [ 4.534087] device-mapper: init: attempting early device configuration. [ 4.550316] device-mapper: init: adding target '0 384440 verity 1 /dev/ubiblock0_0 /dev/ubiblock0_0 4096 4096 48055 48063 sha256 a02e0c13afb31e99b999c64aae6f4644c24addbc58db5689902cc5ba0be2d15b aee087a5be3b982978c923f566a94613496b417f2af592639bc80d141e34dfe7 10 restart_on_corruption ignore_zero_blocks use_fec_from_device /dev/ubiblock0_0 fec_roots 2 fec_blocks 48443 fec_start 48443' [ 4.572215] device-mapper: verity: sha256 using implementation "sha256-generic" [ 4.610692] device-mapper: init: dm-0 is ready [ 4.720174] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null) [ 4.720438] VFS: Mounted root (ext4 filesystem) readonly on device 253:0. [ 4.737256] devtmpfs: mounted [....] Questions: a) Is dm-verity supposed to work on squashfs block devices ? b) Are there any known issues with dm-verity on Kernel 4.14 ? c) Are there any patches that we are missing ? Thanks, Pintu -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel