• 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 挂载

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

  • 相关阅读:
    quill富文本工具栏添加行高配置
    双Buff加持!无GPU畅玩ControlNet Union,一个模型搞定10+图像控制
    Go语言进阶------>init()函数
    JavaScript 33. Promise
    [汇编语言]更灵活的定位内存地址的方法
    STC 51单片机42——汇编 定时器 舵机
    【Local/Docker/K8S/Racher】Local/Docker/K8S/Racher安装Celery并启动异步任务-20220820
    Docker + Selenium Grid 搭建分布式 UI 自动化测试
    HTML中link标签的那些属性
    【软件测试】 初识软件测试
  • 原文地址:https://blog.csdn.net/qq_43145360/article/details/125624611