【s5p4418嵌入式学习】分步编译之kernel编译04

来源:互联网 发布:淘宝详情关联模板 编辑:程序博客网 时间:2024/05/18 03:14

作者: Linux-小企鹅
博客地址:http://blog.csdn.net/u012319379/article/details/77822167

上一篇分析了[分步编译之uboot编译03 ] (http://blog.csdn.net/u012319379/article/details/77816782),这一篇分析下内核编译。

脚本分析

  • build_kernel函数分析
function build_kernel(){    if [ ${BUILD_ALL} == "true" ] || [ ${BUILD_KERNEL} == "true" ]; then        echo ""        echo "=============================================="        echo "build kernel"        echo "=============================================="        if [ ! -e ${TOP}/kernel ]; then            cd ${TOP}            ln -s linux/kernel/kernel-3.4.39 kernel        fi        cd ${TOP}/kernel    #根据ANDROID_VERSION_MAJOR变量的值选择配置文件        local kernel_config=        if [ ${ANDROID_VERSION_MAJOR} == "4" ]; then            kernel_config=${CHIP_NAME}_${BOARD_PURE_NAME}_android_defconfig        elif [ ${ANDROID_VERSION_MAJOR} == "5" ]; then            kernel_config=${CHIP_NAME}_${BOARD_PURE_NAME}_android_lollipop_defconfig        else            echo "ANDROID_VERSION_MAJOR is abnormal!!! ==> ${ANDROID_VERSION_MAJOR}"            exit 1        fi        if [ ${ROOT_DEVICE_TYPE} == "nand" ]; then            kernel_config=$(apply_kernel_nand_config)            echo "nand kernel config: ${kernel_config}"        fi        #make distclean        #cp arch/arm/configs/${kernel_config} .config    #cp arch/arm/configs/iTOP6818_android_defconfig .config    #这句我也看不懂,感觉像是根据oldconfig配置内核,后面也贴出来了,看懂的朋友回复下,呵呵。        yes "" | make ARCH=arm oldconfig        make ARCH=arm uImage -j8    #make ARCH=arm modules        if [ ${ROOT_DEVICE_TYPE} == "nand" ]; then            rm -f ${TOP}/arch/arm/configs/${kernel_config}        fi        check_result "build-kernel"        echo "---------- End of build kernel"    fi}#主要是:1. yes "" | make ARCH=arm oldconfig2. make ARCH=arm uImage -j8

yes “” | make ARCH=arm oldconfig 这句我也看不懂

  • 看的懂的人帮忙回复一下。这句话在build_kernel函数里面。
原创粉丝点击