buildroot 编译 cryptsetup
需要编译依赖包: libdevmapper libpopt libuuid libjson-c libcrypto (openssl包)
嵌入式平台编译比较麻烦, 交叉工具链会报很多头文件 库文件的错误, 建议直接由buildroot编译交叉工具链, 这样后续生成的库文件 头文件才能正常找到, 还有cmake 用到的.cmake 包, pkgconfig的路径等.
最终生成文件 cryptsetup veritysetup dmsetup libcryptsetup.so
测试
1 | mkfs.ext4 -b 4096 fs.img 4096 |
编译kernel 支持dm-verity
1 | make menuconfig |
kernel 调试
去掉优化
子模块中的Makefile可以通过CFLAGS_xxx.o += -O0
去掉某个源文件的编译优化
但还是有很多文件不支持 -O0 编译, 可以再细分, 按函数就行 -O0 编译__attribute__((optimize("O0")))