首页 > 其他分享 >uboot 通过网络启动内核和根文件系统

uboot 通过网络启动内核和根文件系统

时间:2023-08-24 20:11:06浏览次数:44  
标签:uboot zImage 172.16 文件系统 nfs 内核 Ubuntu

一、开发背景

  由于开发阶段需要频繁修改内核镜像文件和根文件系统,如果每次修改都通过烧写 emmc 或者烧录 sd卡制卡过于繁琐,所以需要通过网络启动和加载

二、开发需求

  内核镜像文件(zImage)和根文件系统(rootfs)创建好后,存放于 Ubuntu 中,开发板启动过程中自动提取对应的文件。

三、开发环境

  Linux Ubuntu 4.15.0-65-generic + i.mx6d(cortex-A9)

四、实现步骤

  所需材料:zImage、imx6dl-c-sabresd.dtb 和 rootfs(解压包)

  1、Ubuntu 安装 tftp,主要用于传输 zImage,拷贝的形式传输,安装方法自行百度

  2、Ubuntu 安装 nfs,主要用于文件系统共享,鉴于文件系统比较大,不适合拷贝传输,采用共享的形式,安装方法自行百度

  3、linux-arm 进入 uboot 后设置 bootcmd 和 bootargs

       bootcmd 用于加载内核和设备树, bootargs用于将参数传递给内核,进而启动对应的文件系统

    setenv bootcmd 'tftp 12000000 zImage; tftp 18000000 imx6dl-c-sabresd.dtb; bootz 12000000 - 18000000'
    setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=172.16.21.34:/home/yangjinghui/mx6d/nfs/rootfs,proto=tcp rw ip=172.16.21.88:172.16.21.34:172.16.21.254:255.255.255.0::eth0:off'
    saveenv

    其中 0x12000000 是内核的起始地址,0x18000000 是设备树的起始地址,ubuntu 网络地址:172.16.21.34,开发板地址:172.16.21.88,文件系统在 ubuntu 下的路径:/home/yangjinghui/mx6d/nfs/rootfs

    注意:开发板的 mac 地址需要设置,但是不能和 ubuntu 的地址一样。否者会加载失败

    

    

 

标签:uboot,zImage,172.16,文件系统,nfs,内核,Ubuntu
From: https://www.cnblogs.com/yangjinghui/p/17655039.html

相关文章

  • buildroot 构建根文件系统
    一、开发背景原开发板的文件系统拥有很大的冗余文件,需要裁剪文件系统或者根据需要定制文件系统二、开发需求1、构造最小系统,支持基本指令,例如cd、ls、tar等基础指令三、开发环境LinuxUbuntu 4.15.0-65-generic+ buildroot-2023.02.3+i.mx6d(cortex-A9)......
  • Ubuntu22.04(禁用)彻底删除Snap以及出现“rm: 无法删除"XXX":只读文件系统”的解决方案
    Ubuntu22.04(禁用)彻底删除Snap以及出现”rm:无法删除"XXX":只读文件系统“的解决方案导语Snaps是Ubuntu的母公司Canonical于2016年4月发布Ubuntu16.04LTS(LongTermSupport,长期支持版)时引入的一种容器化的软件包格式。自Ubuntu16.04LTS起,Ubuntu操作系......
  • Linux 内核音频子系统调试
    debugfs文件系统debugfs可以为Linux内核各个模块的分析调试,提供许多信息,如音频子系统的ASoC,以及tracing等。debugfs文件系统可以通过命令行工具挂载,如下所示:root@apollo:~#ls/sys/kernel/debug/root@apollo:~#mount-tdebugfsnodev/sys/kernel/debugroot@apollo......
  • Linux 内核音频数据传递主要流程 (下)
    来而不往非礼也。前面看到了用户空间应用程序和DMAbuffer之间交换数据,并更新runtime->control->appl_ptr指针的过程,这里看一下硬件设备驱动程序在完成DMAbuffer和硬件设备的数据交换之后,更新runtime->status->hw_ptr的过程。用户空间应用程序,在内核的__snd_pcm_lib_xf......
  • 探索操作系统:内核、启动和系统调用的奥秘
    前言首先,对于有科班背景的读者,可以跳过本系列文章。这些文章的主要目的是通过简单易懂的汇总,帮助非科班出身的读者理解底层知识,进一步了解为什么在面试中会涉及这些底层问题。否则,某些概念将始终无法理解。这些计算机基础文章将为你打通知识的任督二脉,祝你在编程领域中取得成功!......
  • Linux 内核设备树时钟绑定
    这种绑定依然处于开发中,并且基于benh[1]的一些实验性工作。时钟信号源可以由设备树中的任何节点表示。这些节点被指定为时钟提供者。时钟消费者节点使用phandle和时钟指示符对将时钟提供者输出连接到时钟输入。与gpio指示符类似,时钟指示符是0个、1个或多个标识设备上的......
  • plutosdr通过uboot单独加载bit文件
    导出bit文件,修改uEnv.txt文件,修改bitstream_image为自己的bit文件,如system_top.bit,并增加两行:bitstream_image=system_top.bitmmc_loadbit_fat=echoLoadingbitstream${bitstream_image}fromSDtoRAM...&&mmcinfo&&fatloadmmc0${loadbit_addr}${bitstream_imag......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • 视频集中存储/直播点播平台EasyDSS内核无法启动是什么原因?
    视频推拉流EasyDSS视频直播点播平台,集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体,可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务。有用户反馈,下载了视频直播点播平台EasyDSS最新版本,在启动服务时发现,出现了报错并且平台也无......
  • 视频集中存储/直播点播平台EasyDSS内核无法启动是什么原因?
    视频推拉流EasyDSS视频直播点播平台,集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体,可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务。有用户反馈,下载了视频直播点播平台EasyDSS最新版本,在启动服务时发现,出现了报错并且平台也无法访......