查看: 11002|回复: 10

香蕉派内核编译

[复制链接]
  • TA的每日心情
    奋斗
    2015-10-8 09:49
  • 签到天数: 430 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2014-9-8 21:18:48 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 brucehelen 于 2014-9-9 11:12 编辑

    在使用的过程中,我们发现内核有些驱动或者模块需要我们自己重新编译,以适合我们具体的应用。我参考香蕉派官方网站的WiKi,将交叉编译内核的流程整理了一下。如果在使用的过程中有问题,欢迎跟帖讨论。

    一、安装交叉编译器
    apt-get install gcc-arm-linux-gnueabihf
    我的系统是Ubuntu 12.10,源被我换成163,在执行这条命令时说gcc-arm-linux-gnueabihf找不到。然后按照http://linux-sunxi.org/Toolchain的提示,执行下面的命令就可以了。
    add-apt-repository ppa:linaro-maintainers/toolchain
    apt-get update
    apt-get install gcc-arm-linux-gnueabihf
    安装完查看版本号,确认安装正确。从下图中可以看出我们使用4.7.1版本的gcc
    QQ截图20140908202457.png
    二、安装开发需要的其他依赖包
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install build-essential u-boot-tools uboot-mkimage binutils-arm-linux-gnueabihf gcc-4.7-arm-linux-gnueabihf-base g++-4.7-arm-linux-gnueabihf gcc-arm-linux-gnueabihf cpp-arm-linux-gnueabihf libusb-1.0-0 libusb-1.0-0-dev git wget fakeroot kernel-package zlib1g-dev libncurses5-dev

    三、编译u-boot
    git clone https://github.com/LeMaker/u-boot-bananapi.git
    make CROSS_COMPILE=arm-linux-gnueabihf- Bananapi_config
    make CROSS_COMPILE=arm-linux-gnueabihf-

    上面的命令执行成功我们就可以得到u-boot-sunxi-with-spl.bin这个文件。这里我们没有用到u-boot更新。

    四、编译内核
    首先下载内核源代码。总共要下载超过3GB的文件,git服务器在美国,速度也不快,建议在晚上睡觉之前下载。
    git clone https://github.com/LeMaker/linux-bananapi.git

    使用sun7i_defconfig作为内核的默认配置文件
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- sun7i_defconfig

    在这里配置内核的额外选项,比如将UVC模块编译进内核中
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

    开始编译内核,这一步时间比较长,跟电脑的配置有关。
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage modules

    编译模块,注意:模块文件在output文件夹中
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=output modules_install

    在下面的文件夹中找到需要的uImage和模块
    arch/arm/boot/uImage
    output/lib/modules/3.4.XX/

    将uImage拷贝到SD卡第一分区中,在Windows上就是那个50几MB的分区,linux中为/boot/bananapi目录中。启动后即可看到系统已经使用上了最新的内核了。
    QQ图片20140907223116.png
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-4-18 08:38
  • 签到天数: 110 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2014-9-9 09:23:59 | 显示全部楼层
    好帖必须顶

    点评

    下载内核源代码的时候显示remote: Repository not found. fatal: repository 'https://github.com/LeMaker/linux-bananapi.git/' not found 这是怎么回事?求解答?  发表于 2016-9-2 20:11
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-24 16:41
  • 签到天数: 709 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2014-9-9 09:45:10 | 显示全部楼层
    顶起啊  都好有速度啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-10-8 09:49
  • 签到天数: 430 天

    连续签到: 1 天

    [LV.9]以坛为家II

     楼主| 发表于 2014-9-9 11:13:12 | 显示全部楼层
    霹雳之火 发表于 2014-9-9 09:23
    好帖必须顶

                
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-10-8 09:49
  • 签到天数: 430 天

    连续签到: 1 天

    [LV.9]以坛为家II

     楼主| 发表于 2014-9-9 11:14:17 | 显示全部楼层
    outstanding1573 发表于 2014-9-9 09:45
    顶起啊  都好有速度啊

    呵呵,你也加油,最近没看到你的帖子哦。是不是要放什么大招
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-24 16:41
  • 签到天数: 709 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2014-9-9 16:54:05 | 显示全部楼层
    brucehelen 发表于 2014-9-9 11:14
    呵呵,你也加油,最近没看到你的帖子哦。是不是要放什么大招

      没有哦 有点忙哦
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-25 09:54
  • 签到天数: 216 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2014-12-14 03:23:25 | 显示全部楼层
    QQ图片20141214032111.jpg
    找不到conntrack这个头文件怎么破……哪里能下载得到匹配的文件么……
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-25 09:54
  • 签到天数: 216 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2014-12-14 17:32:12 | 显示全部楼层
    好吧,是压缩包解压时出了点问题……
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-9-21 20:29
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2016-9-2 20:13:26 | 显示全部楼层
    outstanding1573 发表于 2014-9-9 09:45
    顶起啊  都好有速度啊

    下载内核源代码的时候显示remote: Repository not found. fatal: repository 'https://github.com/LeMaker/linux-bananapi.git/' not found 这是怎么回事?求解答?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-9-21 20:29
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2016-9-2 21:52:05
    霹雳之火 发表于 2014-9-9 09:23
    好帖必须顶

    下载内核源代码的时候显示remote: Repository not found. fatal: repository 'https://github.com/LeMaker/linux-bananapi.git/' not found 这是怎么回事?求解答?
    支持 反对

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-12-19 15:45 , Processed in 0.197361 second(s), 36 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.