[6]_编译内核错误提示1:Unable to find the ncurses libraries or the 和 E: Unable to locate package ncurse
说明:官方给的SDK有文档说明如何编译uboot和kernel,这里给出我习惯的做法,两者的意思是一样的。
----------------------------------------------------------------------------------------------编译海思SDK中的kernel------------------------------------------------------------------------------------------
说明:内核的配置分两步完成:拷贝海思官方预先好的配置文件 + 根据需求微调整
1. 在Makefile中指定架构和交叉编译工具链:(这里和uboot配置一样)
2. 配置第一步:手动拷贝官方配置文件进行配置--> 进入内核源码,执行:cp arch/arm/configs/hi3520d_full_defconfig .config
3. 配置第二步:小范围的调整:make menuconfig 首次编译内核出现下面的错误:
4. 根据错误提示解决:apt-get install ncurses-devel ,再次出现错误:
5. 出现上面的原因是因为系统里面缺少libncurses 库,那就安装一下:sudo apt-get install libncurses-dev
6. 再执行make menuconfig 出现这样的错误:make: *** /opt/Hi3520DV300_SDK/Hi3520D_SDK_V1.0.4.0/osdrv/kernel/linux-3.0.y/arch/arm: Is a directory. Stop.
7. 原因:找了一个很久,原来是多了配置交叉编译工具链后面多了个空格。( 细节真的很重要,谁会看得出来多了个空格呢? )
8. 再次make menuconfig ,成功:
9. 编译内核:make -j4 uImaqge(四线程编译)
----------------------------------------------------------------------------------------------后续----------------------------------------------------------------------------------------------------------------------------------