• 3--新唐nuc980 kernel支持jffs2, Jffs2文件系统制作, 内核挂载jffs2, uboot网口设置,uboot支持tftp


    本文目录
    1.uboot网口设置
    2.内核创建MTD分区,Jffs2文件系统制作
    3.内核支持jffs2
    4.内核挂载jffs2

    首先支持spi nor flash 
    https://blog.csdn.net/qq_43145360/article/details/125520066?spm=1001.2014.3001.5502
    
    • 1
    • 2

    1.uboot网口设置

    打印空格问题需要修改的文件路径,后面会遇到
    //Net:
    board_r.c  659
    
    //修改nuc980 emac  
    drivers/net/nuc980_eth.c 255
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    最终效果:
    在这里插入图片描述
    1)修改include/configs/nuc980_evb.h
    修改成:
    在这里插入图片描述
    2)修改include/env_default.h
    default_enviroment中新增CONFIG_ETHADDR
    在这里插入图片描述
    3)修改uboot配置支持网口
    打开 network device support
    在这里插入图片描述
    在这里插入图片描述
    修改Command line interface
    ->Network commands
    去掉前三个,不然无法使用tftp。支持ping
    在这里插入图片描述

    4)编译下载
    打印出env
    在这里插入图片描述
    用网线使板子和电脑在同一网段,打开tftp工具,使用tftp下载内核镜像

     tftp 0xa0000 980uimage
     run bootcmd
    
    • 1
    • 2

    2.内核创建MTD分区,Jffs2文件系统制作

    内核创建MTD分区参考文章

    https://blog.csdn.net/qq_43145360/article/details/125573572?spm=1001.2014.3001.5502
    
    • 1

    内核启动后效果:
    在这里插入图片描述
    Busybox制作根文件系统可参考文章

    参考文章
    https://blog.csdn.net/weixin_38387929/article/details/108538631?spm=1001.2014.3001.5506
    
    • 1
    • 2

    需要用到mtd-util的mkfs.jffs2 和rootfs/生成rootfs.jffs2

    制作jffs2镜像可参考文章

    https://blog.csdn.net/itismine/article/details/4775824?spm=1001.2014.3001.5506
    
    • 1

    编译后可启动在/dev/ram0分区内cramfs格式的文件系统
    可把生成的rootfs.jff2放在rootfs/tmp/中,编进内核镜像

    3.内核支持jffs2

    File  systems  --->
        Miscellaneous  filesystems  --->
            <*>  YAFFS2  file  system  support
            [*]  Autoselect  yaffs2  format
    
    
    配置语言选项
    
    Native  Language  support  --->
        (iso8859-1)  Default  NLS  Option
        <*>  Codepage  437(United  States,  Canada)
        <*>  Simplified  Chinese  charset(CP936,  GB2312)
        <*>  NLS  ISO8859-1  (Latin  1;  Western  European  Language)
        <*>  NLS  UTF-8
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    4.内核挂载jffs2

    使用uboot 引导启动内核后,进入tmp中,
    使用dd命令生成全是ff的,大小和mtdblock2相同的文件,也放在tmp中,编进内核,
    参考文章

    https://www.jianshu.com/p/398fb66d06b2

    使用重定向cat 擦除mtdblock2分区
    cat fftxt > /dev/mtdblock2
    使用cat 将rootfs.jff2写入mtdblock2分区
    cat rootfs.jffs2 > /dev/mtdblock2
    mount -a
    mdev -s
    看到proc文件夹下有设备后
    使用mount 挂载/dev/block2分区
    mount -t jffs2 /dev/mtdblock2 /mnt
    cd /mnt
    ls
    可看到挂载的文件系统
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    目前已调试到这,关于cramfs和jffs2,我认为这样子是先启动一个小的文件系统(ram),进去之后再用mount 挂载

    —>文中所引用链接皆出于整理资料的目的,如有侵权,请联系删除

  • 相关阅读:
    谁说前端不能搞红黑树,用这55张图拿JS一起手撕红黑树
    这些负载均衡都解决哪些问题?服务、网关、NGINX
    原理图合并中的技巧
    IDEA中debug调试模拟时显示不全(不显示null)的解决
    奇怪的比赛(Python,递归,状态压缩动态规划dp)
    通达信吊灯止损指标公式,根据波动幅度自动调整止盈止损
    CSS 之 z-index 属性详解
    C++11标准模板(STL)- 算法(std::rotate)
    二维树状数组
    单片机之从C语言基础到专家编程 - 4 C语言基础 - 4.12枚举
  • 原文地址:https://blog.csdn.net/qq_43145360/article/details/125624611