K开发

欢迎转载,转载时请保留作者信息,谢谢。

邮箱:tangzhongp@163.com

博客园地址:http://www.cnblogs.com/embedded-tzp

Csdn博客地址:http://blog.csdn.net/xiayulewa

 

开发环境:http://www.cnblogs.com/embedded-tzp/p/4443876.html

 

    参考了网上很多资料,没有对来源网站做记录,故来源已经不可考,在此表示歉意与感谢。

    文章包括了下载的环境搭建,如何下载,具有一定参考性。

 

前期环境配置

 

Tftpd服务器搭建

 

  • Windows:

直接用tftpd32.exe 或者 tftpd64.exe, 图形界面,方便好用,适用于Ubuntu在虚拟机的情况。

  • Linux下配置tftpd:

    适用于直接在Ubuntu系统下开发,而不经过虚拟机的情况。

  1. 安装tftp-server

sudo apt-get install tftpd-hpa

 

sudo apt-get install tftp-hpa(如果不需要客户端可以不安装)

 

tftp-hpa是客户端

 

tftpd-hpa是服务器端

 

2.配置TFTP服务器

 

sudo vim /etc/default/tftpd-hpa

 

将原来的内容改为:

 

TFTP_USERNAME="tftp"

 

TFTP_ADDRESS="0.0.0.0:69″

 

TFTP_DIRECTORY="tftp根目录" #服务器目录,如 /home/tang/wkdir/tftp ,需要设置权限为777,chomd 777

 

TFTP_OPTIONS="-l –c –s"

 

3.重新启动TFTP服务

 

sudo service tftpd-hpa restart

 

然后需要下载u-boot(bootloader), 此时只能通过jtag方式的jlink 下载。

 

  • 虚拟机和windows网络配置

建议少用虚拟机,因为总是会出这样那样的问题,现在我已经直接在原生linux操作系统下开发, 问题少很多。

(可选)电脑端:禁用无线网卡。

配置:windows: 192.168.1.2(需要关闭防火墙,否则无法ping)

虚拟机:ubuntu: 192.168.1.6(当为桥接(虚拟机系统是独立的计算机)时,虚拟机系统需要手工设置ip,子网等,且要和宿主机器处于同一网段,这样才是一个局域网,虚拟机的操作系统和windows才能ping通,具体配置见下)

开发板:192.168.1.8

 

虚拟机ip配置:当虚拟机设置为桥接时,此时虚拟机系统需要手动设置ip,设置方法有两种:

1: sudo ifconfig eth0 192.168.1.6

2: 这种方式时记得备份原文件,虚拟机上不了网时试试还原下该文件。

sudo pluma /etc/NetworkManager/system-connections/Wired\ connection\ 1

修改内容:

[ipv4]

method=manual

#dns=8.8.8.8;

address1=192.168.1.6/24,192.168.1.2

然后sudo service network-manager restart

 

实际下载

 

因为没有使用虚拟机,所以电脑ip为192.168.1.2, 开发板ip为192.168.1.3。

  • ramdisk方式

根文件系统在内存,为ramdisk:

电脑端: 开启tftpd服务端程序

开发板端:

  1. tftp 0x30008000 uImage
  2. tftp 0x32000000 ramdisk.gz
  3. setenv bootargs root=/dev/ram0 initrd=0x32000000,0x200000 rootfstype=ext2 console=ttySAC0,57600 init=/linuxrc ip=192.168.1.3
  4. bootm 0x30008000

     

        需要注意上述console使用ttySAC0/ ttySAC1的形式,新版本的内核使用ttyS是不行的。

    bootargs参数使用查看如下文档:

    src\Documentation\kernel-parameters.txt

    U_boot 的 bootcmd 和bootargs参数详解:http://www.cnblogs.com/cornflower/archive/2010/03/27/1698279.html

     

    initrd: src\Documentation\initrd.txt

     

  • nfs方式

 

电脑端:

尽量不要用虚拟机。

根文件系统在nfs(必须先配置虚拟机ip获取方式为手动):

Linux mint先菜单->系统管理->网络->设置静态ip, 或者sudo ifconfig eth0 192.168.1.2

修改 /etc/exports: 内容为:

/home/tang/wk-tzp/prj/nfs *(insecure,rw,sync,no_subtree_check,all_squash)

 

然后:

sudo exportfs -ra

sudo /etc/init.d/portmap restart # 有可能失败,不用理会

sudo /etc/init.d/nfs-kernel-server restart # 或者sudo service nfs-kernel-server restart

showmount -e :该命令看是否映射成功。

 

开发板端:

  1. tftp 0x30008000 uImage
  2. setenv bootargs root=/dev/nfs noinitrd rootfstype=nfs nfsroot=192.168.1.2:/home/tang/wk-tzp/prj/nfs/fs/ramdisk_fs console=ttySAC0,57600 ip=192.168.1.3:192.168.1.2:192.168.1.2:255.255.255.0::eth0:off

     

  3. bootm 0x30008000

     

    需要注意上述console使用ttySAC0/ ttySAC1的形式,新版本的内核使用ttyS是不行的。

     

    下载成功后,使用ls, pwd等命令,开发板就反馈给答案,折腾很伤神,但是总算会有点成就感了。

【linux】内核+文件系统下载到开发板的更多相关文章

  1. linux 3.4.103 内核移植到 S3C6410 开发板 移植失败 (问题总结,日本再战!)

    linux 3.4.103 内核移植到 S3C6410 开发板 这个星期差点儿就搭在这里面了,一開始感觉非常不值得,移植这样的浪费时间的事情.想立刻搞定,然后安安静静看书 & coding. ...

  2. linux-3.0内核移植到fl2440开发板(以s3c2410为模板)

    1.新建kernel文件夹,用于存放内核文件 [weishusheng@localhost ~]$ mkdir kernel 2.进入kernel,上传压并解压压缩文件 [weishusheng@lo ...

  3. 02.将uboot,kernel,rootfs下载到开发板上

    转载,侵删 将uboot,kernel,rootfs下载到开发板上 1.为什么要下载 所谓下载,也称烧录,部署. 1.1.什么是u-boot Hi3518EV200 单板的 Bootloader 采用 ...

  4. linux内核文件系统:proc、tmpfs、devfs、sysfs简要介绍

    linux内核文件系统:proc.tmpfs.devfs.sysfs proc:虚拟文件系统,在linux系统中被挂载与/proc目录下.里面的文件包含了很多系统信息,比如cpu负载. 内存.网络配置 ...

  5. Linux移植到自己的开发板(三)根文件系统

    @ 目录 1 Linux内核配置 2 ramdisk制作 3 busybox配置 4 genext2fs生成镜像 为了快速调试,采用ramdisk进行根文件系统测试.要使内核能挂载ramdisk根文件 ...

  6. Linux移植到自己的开发板(二)UBOOT和Linux

    @ 目录 一.uboot跳转到Linux 二. Linux内核启动之解压阶段 三. Linux内核启动之汇编阶段 插曲:关于Kconfig和Makefile 四. Linux内核启动之C语言阶段 五. ...

  7. linux-3.0内核移植到fl2440开发板(以MINI2440为模板)

    我们的fl2440开发板使用的是s3c2440的芯片,与MINI2440十分相似,因此需要改动的地方不多,移植也比较容易. 1.[weishusheng@localhost kernel]$ sudo ...

  8. Linux移植到自己的开发板(一)环境搭建

    环境搭建 vmware:VMware Workstation 15 Pro Linux系统:Ubuntu16.04 x64 1. 在Windows系统安装VMware15软件: 2. 网上下载并解压u ...

  9. Linux移植到自己的开发板(四)问题汇总

    @ 目录 1 使ubuntu支持两个版本的编译链: 2 版本问题: 3 ubuntu版本的vscode下载网速太慢: 4 ubuntu占用空间过大 5 执行make zImage 出错 lzop: n ...

随机推荐

  1. 深入探究VC —— 资源编译器rc.exe(3)

    Windows应用程序中,图标.菜单.畏途.图标.工具条.对话框等是以资源的形式存在的.开发人员也可以自定义资源类型.如果一个程序使用了资源,那么它在构建时需要对资源进行编译.程序所使用的资源会在资源 ...

  2. BZOJ 1619: [Usaco2008 Nov]Guarding the Farm 保卫牧场

    题目 1619: [Usaco2008 Nov]Guarding the Farm 保卫牧场 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 491  S ...

  3. Swap file ".Podfile.swp" already exists!

    解决Swap file ".ceshi.c.swp" already exists!问题 关于swp文件:使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一 ...

  4. android音乐柱状频谱实现

    from: http://blog.csdn.net/topgun38/article/details/7663849 原文地址:http://blog.csdn.net/caryee89/artic ...

  5. python中的class

    尽管Python在Function Programming中有着其他语言难以企及的的优势,但是我们也不要忘了Python也是一门OO语言哦.因此我们关注Python在FP上的优势的同时,还得了解一下P ...

  6. C# lazy<T>的用法

    .NET 4.0中加入了lazy<T>(懒对象),其实叫懒对象感觉不对,更应该叫延迟对象加载. 正如我们所知,对象的加载是需要消耗时间的,特别是对于大对象来说消耗的时间更多.lazy可以实 ...

  7. aspx.cs上传文件

    aspx.cs文件 using System; using System.Collections.Generic; using System.Linq; using System.Web; using ...

  8. java--String方法

    String : 字符串类型 一.构造函数 String(byte[ ] bytes):通过byte数组构造字符串对象. String(char[ ] value):通过char数组构造字符串对象. ...

  9. ZOJ 3818 Pretty Poem 模拟题

    这题在比赛的时候WA到写不出来,也有判断ABC子串不一样不过写的很差一直WA 在整理清思路后重写一遍3Y 解题思路如下: 第一种情况:ABABA. 先判断开头的A与结尾的A,得到A的长度, 接着判断A ...

  10. The Hungarian algorithm Template

    The Hungarian algorithm with The adjacency matrix : 计算最大匹配问题 int n1, n2, m, ans; int res[MAXN]; bool ...