美文网首页itop4412开发板驱动学习记录
itop4412 Linux最小系统环境搭建

itop4412 Linux最小系统环境搭建

作者: Jason416 | 来源:发表于2019-02-28 00:39 被阅读0次

    一、前言

    首先按照官方给的流程,采用比较新的4.14.2内核来学习Linux驱动和arm编程。在学习前必须先搭建好学习的开发环境,迅为官方的itop-4412开发板默认烧写的是安卓系统,需要重新烧写自己编译的uboot和内核文件。内核文件使用官方提供的system.img即可,如果想要自己编译,可以选择busybox,笔者使用官方提供的\ iTOP-4412开发板系统源码及镜像(其他)\高版本busybox1.26.2移植资料\编译好的镜像\system.img文件即可。

    二、编译uboot

    2.1 编译uboot时出错

    在编译uboot时有下列错误提示:

    dtc: invalid option -- 'i'

    通过查询互联网上的资料,发现是device tree compiler的版本过低,通过apt安装的为1.3的版本。需要先卸载掉,然后手动通过deb离线包安装1.4的版本即可。下面给出官方离线包路径,点击后面安装包名下载。跳转链接 --> device-tree-compiler_1.4.0+dfsg-2_i386.deb

    三、编译Linux内核

    3.1 结果

    以下结果说明编译内核成功。

    ...
    OBJCOPY arch/arm/boot/zImage
      Kernel: arch/arm/boot/zImage is ready
      UIMAGE  arch/arm/boot/uImage
    Image Name:   Linux-4.14.2
    Created:      Wed Feb 27 08:28:44 2019
    Image Type:   ARM Linux Kernel Image (uncompressed)
    Data Size:    5599808 Bytes = 5468.56 kB = 5.34 MB
    Load Address: 40007000
    Entry Point:  40007000
    ...
    DTC     arch/arm/boot/dts/exynos4412-itop-elite.dtb
    ...
    

    四、烧写到tf卡

    1、官方推荐方式

    采用官方的mmc中的出厂uboot,提供的fastboot方式来对tf卡进行分区,然后写入最小文件系统system.img。

    2、网络方式

    也可以采用uboot提供的网络功能,用tftp下载内核和设备数文件,再通过nfs挂载根文件系统。此方法比较方便快捷,适合内核文件经常变更的场景,也可以适合根文件系统经常有变动的场景。

    五、整理好的源码

    1、说明

    参考官方的uboot和Linux源码,为了学习和调试的方便,参考官方的手册,将内核配置成了nfs启动。需要根据手册,配置好NFS服务器和配置参数,根据自己的环境修改对应文件,然后编译好uboot和内核文件。最后通过uboot将内核烧写进去即可。

    2、链接

    下面放出依据itop官方源代码,稍加修改的uboot和Linux源码。

    具体最小文件系统请查阅本专题其他文章,有详细教程说明,本文只是一个概览。

    3、搭建好的环境汇总

    参见我的另一篇文章搭建好的itop4412驱动学习环境汇总 - 可直接下载使用。有学习驱动的环境归总,可直接下载使用。

    相关文章

      网友评论

        本文标题:itop4412 Linux最小系统环境搭建

        本文链接:https://www.haomeiwen.com/subject/melcuqtx.html