• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

linux系统程序如何读取并烧写到其他板子上?

guyuemao 2017-02-24 浏览量:2388
请教前辈,如何把一个板子的linux系统程序读取并烧写到其他板子上?这样就不用每次换flash了!!!
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 1. 请详细描述你的应用场景,单单某个系统程序?需要复杂配置?需要源码编译?

    2. 目标板和原板是同样的处理器架构吗?x86/ARM/MIPS等,不用架构的程序无法直接使用

    3. 可以编译好直接拷贝或者make install;自己写个一键安装包(Debian可以自制deb软件包);使用docker无痛部署

    • 发布于 2017-02-24
    • 举报
    • 评论 1
    • 0
    • 0
guyuemao 回复了 pATAq:跟应用场景没关系,我指的其他板子是指同一型号的同一批次的板子,不存在处理器结构差异问题,都是MIPS核,其他的,如源码编译?不是很明白,我想的就是能不能直接把系统拷出来,再通过网口烧到另外一个同样的板子上去,不知道这个可行不? 回复

其他答案 数量:8
  • 1、如果你说的是将整个系统读取烧写,这个显然是行不通的,因为打包出来的东西除了文件系统,还有一些底层的东西。每个板子硬件层的东西不是完全一样的。

    2、如果只是说需要某个单独的可执行程序,那就找到那个程序的位置,可用whereis那些,然后复制粘贴

    • 发布于2017-02-24
    • 举报
    • 评论 2
    • 0
    • 0
guyuemao 回复了 chen0000009 :当然是同一个型号的板子 硬件都一样的那种 回复
chen0000009 回复了 chen0000009 :linux系统镜像分为三个部分,包括uboot、kernel、还有文件系统。如果你的板子这三者是存在于同一存储器(都在SD或者都在emmc)的话,那么你可以用一个不同于安装了系统的存储设备(U盘或者SD卡)利用dd命令直接打包到相应的存储设备。具体请参考http://www.cnblogs.com/dkblog/archive/2009/09/18/1980715.html 回复

  • 如果是系统的话,直接用镜像不就好了,单独可执行程序,找到程序的路径,然后复制就好了
    • 发布于2017-02-24
    • 举报
    • 评论 1
    • 0
    • 0
guyuemao 回复了 afeiafei309 :什么镜像不懂哦 回复

  • 如果是系统的话你这个是不现实的,相当于你PC主机安装好了WINDOWS系统,然后你想要将这个WINDOWS系统用在其它的PC电脑主机上一样,至少目前还有没那种技术能达到这种效果。



    但是如果是系统上的某个程序,那你直接将这个LINUX系统中的程序可执行文件拷贝出来,再放到其它板子上就可以了,但是板子的交叉编译器要相同,不然也会出现不兼容的现象。但最好的方法还是做一个SERVER,将这个程序分别传输到不同的板子上就可以了,这样就可以实现多个板子的批量拷贝

    • 发布于2017-02-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 直接翻录系统不现实,你可以针对某一个程序考出来一直
    • 发布于2017-02-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 通常在生产上,我们都会做成一个image镜像,里面包括uboot,参数,kernel,rootfs等等,然后通过打包工具做成物理地址的顺序存储!使用的时候将其物理烧录到SD卡或者nandflash或者EMMC等等存储设备即可。至于打包的方式,各家厂商提供的都有所区别。建议你可以去看看firefly和lamerker的看看。
    • 发布于2017-02-24
    • 举报
    • 评论 1
    • 0
    • 0
guyuemao 回复了 东方青 :我也知道生产的时候,烧的是bin文件系统,里面应该是包括uboot,参数,kernel,rootfs等等,想问的是能不能把这个系统读出来,这样的话如果某个板子上的程序调试OK,其他板子不OK,就可以先把系统读出来,再烧到其他板子上去了。 回复

  • 一、

    你说的是linux的应用层程序。

    如果是同一个平台,32位的或是64位的,ARM的或是X86、X64的,这两个板子要是一样的。这个只要复制到板子上的文件系统,或许要增加权限,就可以运行了。

    如果不是同一个平台,那么要用源码重新进行编译的,才可以在其他的板子上运行。

    二、

    你说的程序是linux系统。

    一种情况是,相同的架构、相同的底层硬件平台,那么就可以做成一个镜像,烧写到其他的板子上。其中的方法有:SD卡(TF卡烧写)、USB烧写、网络烧写,或是芯片支持的其他烧写方式。

    如果是不同的架构,或是不同的硬件平台,都要重新进行移植的,并不能在其他的板子上烧写与运行的。

    • 发布于2017-02-24
    • 举报
    • 评论 1
    • 0
    • 0
guyuemao 回复了 汉云 :大神 我说的就是同一批次量产的板子,架构、底层硬件平台完全一样的,能读出来嘛? 回复

  • 以下是同種板子的方法,不同的話連啟動都有問題噢

    1. 如果是Nand FLASH和EMMC這種板載貼片的存儲,您可以用Linux的dd指令轉存鏡像檔到SD卡,或者GUI底下可以拷貝整個分割磁區,操作時來源和目的分割磁區要分開,以下是Ubuntu的既有工具


    2. SD卡存儲的話,您可以使用Win32DiskImager利用讀卡器轉存成鏡像檔到電腦中

    以上是可使用的方法


    • 发布于2017-02-24
    • 举报
    • 评论 2
    • 0
    • 0
guyuemao 回复了 MOP :说的就是同一批次量产的板子,架构、底层硬件平台完全一样的(⊙o⊙)哦 回复
MOP 回复了 guyuemao :那就沒問題噢^^ 回复

  • 不可能,你想想,每一个cpu的寄存器都不同,怎么能只换存储器?驱动必须不同啊
    • 发布于2017-02-25
    • 举报
    • 评论 1
    • 0
    • 0
guyuemao 回复了 oceancjc :说的就是同一批次量产的板子,架构、底层硬件平台完全一样的 怪我没说清楚啦 回复

相关问题

问题达人换一批

linux系统程序如何读取并烧写到其他板子上?