使用Ubuntu编译安卓内核时报错
error: implicit declaration of function ‘fscrypt_enc_bio_mergeable’ [-Werror=implicit-function-declaration]
请问各位怎么解决,本人没接触过c语言,中途一些报错也通过搜索引擎解决了,这个报错实在是搞不懂了,虽然百度了一下说是挺简单的一个报错,但是奈何没有基础,搜到的解决方法看不懂,麻烦各位帮忙指导一下谢谢
内核
https://github.com/PixelExperience-Devices/kernel_google_bluecross
操作步骤是按照网络上一步步来的
下面是具体的操作过程
cd ./android_kernel_xiaomi_msm8998
sudo apt install build-essential openssl pkg-config libssl-dev libncurses5-dev pkg-config minizip libelf-dev flex bison libc6-dev libidn11-dev rsync bc liblz4-tool
sudo apt install gcc-aarch64-linux-gnu dpkg-dev dpkg git
export ARCH=arm64
export SUBARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
make O=out sagit_defconfig
make O=out -j$(nproc)
不知道你这个问题是否已经解决, 如果还没有解决的话:该问题是由于编译时未包含fscrypt头文件导致的,解决方法如下:
sudo apt-get update
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip
git clone https://github.com/torvalds/linux.git
cd linux/include/
sudo cp -r fscrypt /usr/include/
make clean && make mrproper
nano arch/arm64/configs/pixel_gcross_defconfig
CONFIG_FSCRYPT=y
make pixel_gcross_defconfig
make -j4
等待编译完成后,若无报错,内核编译成功。
若依然报错,请在编译配置文件中添加以下内容:
CONFIG_FSCRYPT_FS=y
CONFIG_EXT4_ENCRYPTION=y